Java 什么是发送图像等媒体的有效方式,。。使用我的android应用程序

Java 什么是发送图像等媒体的有效方式,。。使用我的android应用程序,java,android,android-studio,Java,Android,Android Studio,我是android java编程新手,我需要创建一个活动来帮助用户发送图像、视频、音频等媒体,。。发送给另一个用户或用户组,这样发送的动作会像whatsapp一样超级快速,但我不知道我可以遵循哪种方式,以及我需要知道和拥有什么。我正在使用android studio 2。如果有一些教程或源代码,请与我共享链接。谢谢你对我的问题给予最高的考虑 公共类MainActivity扩展了活动{ @Override protected void onCreate(Bundle savedInstanceSt

我是android java编程新手,我需要创建一个活动来帮助用户发送图像、视频、音频等媒体,。。发送给另一个用户或用户组,这样发送的动作会像whatsapp一样超级快速,但我不知道我可以遵循哪种方式,以及我需要知道和拥有什么。我正在使用android studio 2。如果有一些教程或源代码,请与我共享链接。谢谢你对我的问题给予最高的考虑

公共类MainActivity扩展了活动{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);     
     EditText MyText=(EditText) findViewById(R.id.text);
     Button send=(Button) findViewById(R.id.button1);
     ImageView attach =(ImageView) findViewById(R.id.attach);

     button.setOnClickListener(new OnClickListener() {

  @SuppressWarnings("deprecation")
  @Override
  public void onClick(View arg0) {
// TODO Auto-generated method stub

String txt =MyText.getText().toString();
      ...
AlertDialog alertDialog = new      AlertDialog.Builder(MainActivity.this).create();
  ...

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}试试Firebase

使用Firebase存储和Firebase实时数据库

上面链接中的小示例代码 从本地文件上载

您可以使用putFile()方法在设备上上载本地文件,例如相机中的照片和视频。putFile()获取一个文件并返回一个UploadTask,可用于管理和监视上载状态

Uri file = Uri.fromFile(new File("path/to/images/rivers.jpg"));
StorageReference riversRef = storageRef.child("images/"+file.getLastPathSegment());
uploadTask = riversRef.putFile(file);

// Register observers to listen for when the download is done or if it fails
uploadTask.addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle unsuccessful uploads
    }
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
        Uri downloadUrl = taskSnapshot.getDownloadUrl();
    }
});
urifile=Uri.fromFile(新文件(“path/to/images/rivers.jpg”);
storagereferef=storageRef.child(“images/”+file.getLastPathSegment());
uploadTask=riversRef.putFile(文件);
//注册观察员,以便在下载完成时或下载失败时监听
uploadTask.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理不成功的上传
}
}).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
//taskSnapshot.getMetadata()包含文件元数据,如大小、内容类型和下载URL。
Uri downloadUrl=taskSnapshot.getDownloadUrl();
}
});

Defuke efficiency in your case我不太了解你@antonioss,你想说什么定义*我是说;)我想说的是:有效*谷歌为Firebase提供的一些教程