android - 如何在 Uri.Builder 中获取 editText 信息
问题描述
我正在构建一个应用程序以将图像上传到我的公司服务器上传 URL 必须使用客户端 ID(4 位)创建电子邮件和密码,并在活动(LoginActivity)中输入编辑文本,并将数据传递给另一个活动(CameraActivity ) 我正在使用 URI.Builder 来创建所需的 URL,但我遇到了两件事,我不知道我的 edittext 数据(在 java LoginActivity 中)是否正在传递给另一个活动(CameraActivity),以及如何调用URI.Builder 中的编辑文本数据
appendPath
我对如何通过在 URI.Builder中输入所需的信息来静态构建所需的 URL 有一个基本的了解,ApppendQueryParamater
这样这将不是问题,我只需要知道如何将数据从 an 调用edittext
到 appendQuEryParrameter 等。
我的 URI 生成器
private void uploadImageToServer() {
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("www.smartpractice.co.za")
.appendPath("files-upload-ruben.asp")
.appendQueryParameter("MyForm", "Yes");
myURL = builder.build().toString();
File imageFile = persistImage(bitmap, "SP_Upload");
Ion.with(this)
.load(myURL)
.setMultipartFile("SP-LOG", "image/jpeg", imageFile)
.asJsonObject()
.setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception e, JsonObject result) {
}
});
登录 Activity 将编辑文本数据传递给 CameraActivity Here
public class LoginActivity extends AppCompatActivity {
private EditText email, password, id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email=findViewById(R.id.emailtext);
password=findViewById(R.id.pwdtext);
id=findViewById(R.id.clientid);
Button loginBtn=findViewById(R.id.button);
loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String emailAddress=email.getText().toString().trim();
String userPassword=password.getText().toString().trim();
String clientId=id.getText().toString().trim();
Intent intent=new Intent(LoginActivity.this, CameraActivity.class);
intent.putExtra("clientId", clientId);
intent.putExtra("email", emailAddress);
intent.putExtra("password", userPassword);
startActivity(intent);
}
});
}
}
解决方案
1.
Intent intent = getIntent();
uploadImageToServer(intent.getStringExtra("clientId"), intent.getStringExtra("email"),intent.getStringExtra("password"));
2.如果你需要像https://www.smartpractice.co.za/files-upload-ruben.asp?client_id=1234&email=example@gmail.com&pass=qwerty这样的 Uri ,那么你可以使用代码:
private void uploadImageToServer(String clientId, String email, String pass) {
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("www.smartpractice.co.za")
.appendPath("files-upload-ruben.asp")
.appendQueryParameter("client_id", clientId);
.appendQueryParameter("email", email);
.appendQueryParameter("pass", pass);
myURL = builder.build().toString();
...
}
推荐阅读
- image - 更改图像尺寸 - 大量导入时出错 - Prestashop 1.7
- c# - C# Fluent API 将两个属性映射到同一列
- java - 仅迭代枚举中以某些字符开头的值的最有效方法
- python - 如何在python的字典中附加重复函数中的数据?
- javascript - javascript中的if else子句面临错误“SyntaxError:预期的表达式,得到关键字'else'@(shell):1:0”
- php - 将源文件复制到 php 容器时出现 docker build 错误
- java - Flinks Collector.collect() 如何处理数据?
- c# - 具有包含列表的项目的列表框样式
- c++ - C++ 使用 Dijkstras 算法找到第二条最短路径?
- powershell - PowerShell 重命名项目失败