如何将 editText 数据传递给字符串 URL
How to pass editText data to a string URL
我想通过从另一个 activity (LoginActivity.java) 中的 3 个编辑文本框中获取信息,在我的一项活动 (UploadActivity.java) 中制作一个 url 和将该数据传递给另一个 activity,
我在 SO 上找到的所有问题都只涉及静态 URL 即 www.blahblah.com/blah-blah.asp?My=Yes 等
基本上用户必须输入他的电子邮件,密码和客户ID(由我公司制作)然后它必须合并成一个字符串
喜欢这个
public 静态最终字符串 UPLOAD_URL =
"https://www.smartpractice.co.za/files-upload-ruben.asp?clientID=6868";
我正在使用上面 url 将用户的位置上传到服务器。
我必须在 activity 中声明编辑文本框吗?因为目前只有 activity
的 XML 布局
我在另一个问题中发现了这个,但我不明白如何将它实现到我的代码中。
您的编辑文本
EditText your_edit_text = (EditText) findViewById(R.id.your_id);
从编辑文本中获取用户数据作为休闲..
String edit_text_data = your_edit_text.getText().toString();
现在,当您需要将数据放在 url 上时 .. 像这样使用它 ..
String your_url = "http://www.google.com=" + edit_text_data;
我想要这个字符串中的 Url 在 "" 引号中
public static final String UPLOAD_URL =
"https://www.smartpractice.co.za/files-upload-ruben.asp?MyForm=Yes";
上传活动JAVA
public class UploadActivity extends AppCompatActivity implements View.OnClickListener {
public static final String UPLOAD_URL = "https://www.smartpractice.co.za/files-upload-ruben.asp?MyForm=Yes";
public static final String UPLOAD_KEY = "image";
private int PICK_IMAGE_REQUEST = 1;
private Button buttonChoose;
private Button buttonUpload;
private ImageView imageView;
private Bitmap bitmap;
private Uri filePath;
@Override
public void onCreate(Bundle savedInstanceState ) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload);
init();
}
private void init(){
buttonChoose = findViewById(R.id.btnChoose);
buttonUpload = findViewById(R.id.btnUpload);
imageView = findViewById(R.id.imageView);
buttonChoose.setOnClickListener(this);
buttonUpload.setOnClickListener(this);
}
private void showFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
}
@SuppressWarnings("deprecation")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
return Base64.encodeToString(imageBytes, Base64.DEFAULT);
}
private void uploadImage(){
@SuppressLint("StaticFieldLeak")
class UploadImage extends AsyncTask<Bitmap,Void,String> {
private ProgressDialog loading;
private RequestHandler rh = new RequestHandler();
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(UploadActivity.this, "Uploading Image", "Please wait...",true,true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(UploadActivity.this,s,Toast.LENGTH_LONG).show();
}
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
HashMap<String,String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);
data.put("name",getFileName(filePath));
return rh.postRequest(UPLOAD_URL,data);
}
}
UploadImage ui = new UploadImage();
ui.execute(bitmap);
}
@Override
public void onClick(View v) {
if (v == buttonChoose) {
showFileChooser();
}
if(v == buttonUpload){
if(filePath!=null) {
uploadImage();
} else {
Toast.makeText(UploadActivity.this,"Select Image",Toast.LENGTH_LONG).show();
}
}
}
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
String getFileName(Uri uri){
String result = null;
if (Objects.equals(uri.getScheme(), "content")) {
try (Cursor cursor=getContentResolver().query(uri, null, null, null, null)) {
if (cursor != null && cursor.moveToFirst()) {
result=cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
}
}
}
if (result == null) {
result = uri.getPath();
assert result != null;
int cut = result.lastIndexOf('/');
if (cut != -1) {
result = result.substring(cut + 1);
}
}
return result;
}
}
**登录活动
到目前为止,编辑文本框在 XML 布局中 **
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}
简而言之,从 LoginActivity
中获取 editText 值并将其传递给 UploadActivity
并使用该信息在 UploadActivity
.
中构建 URL
Take edittext values from LoginActivity & Pass the values to UploadActivity
在 LoginActivity
中的 onCreate
方法中绑定您的视图(用您的 ID 更改 ID)并通过 Intent
将输入传递给 UploadActivity
。
public class LoginActivity extends AppCompatActivity {
private EditText email,password,email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email = findViewById(R.id.email);
password = findViewById(R.id.password);
email = findViewById(R.id.clientID);
Button loginBtn = findViewById(R.id.loginBtn);
loginBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String emailAddress = email.getText().toString().trim();
String userPassword = password.getText().toString().trim();
//Pass the data to next activity
String clientId = clientID.getText().toString().trim();
Intent intent = new Intent(LoginActivity.this, UploadActivity.class);
intent.putExtra("clientId", clientId);
intent.putExtra("email", emailAddress);
intent.putExtra("password", userPassword);
startActivity(intent);
}
});
}
}
Use above information to build a URL in UploadActivity
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
HashMap<String,String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);
data.put("name",getFileName(filePath));
Intent intent = getIntent();
String clientId = intent.getStringExtra("clientId");
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("ww.smartpractice.co.za")
.appendPath("files-upload-ruben.asp")
.appendQueryParameter("clientID", clientId);
String myUrl = builder.build().toString();
return rh.postRequest(myUrl,data);
}
干杯:)
我想通过从另一个 activity (LoginActivity.java) 中的 3 个编辑文本框中获取信息,在我的一项活动 (UploadActivity.java) 中制作一个 url 和将该数据传递给另一个 activity,
我在 SO 上找到的所有问题都只涉及静态 URL 即 www.blahblah.com/blah-blah.asp?My=Yes 等
基本上用户必须输入他的电子邮件,密码和客户ID(由我公司制作)然后它必须合并成一个字符串
喜欢这个 public 静态最终字符串 UPLOAD_URL = "https://www.smartpractice.co.za/files-upload-ruben.asp?clientID=6868";
我正在使用上面 url 将用户的位置上传到服务器。
我必须在 activity 中声明编辑文本框吗?因为目前只有 activity
的 XML 布局我在另一个问题中发现了这个,但我不明白如何将它实现到我的代码中。
您的编辑文本
EditText your_edit_text = (EditText) findViewById(R.id.your_id);
从编辑文本中获取用户数据作为休闲..
String edit_text_data = your_edit_text.getText().toString();
现在,当您需要将数据放在 url 上时 .. 像这样使用它 ..
String your_url = "http://www.google.com=" + edit_text_data;
我想要这个字符串中的 Url 在 "" 引号中
public static final String UPLOAD_URL =
"https://www.smartpractice.co.za/files-upload-ruben.asp?MyForm=Yes";
上传活动JAVA
public class UploadActivity extends AppCompatActivity implements View.OnClickListener {
public static final String UPLOAD_URL = "https://www.smartpractice.co.za/files-upload-ruben.asp?MyForm=Yes";
public static final String UPLOAD_KEY = "image";
private int PICK_IMAGE_REQUEST = 1;
private Button buttonChoose;
private Button buttonUpload;
private ImageView imageView;
private Bitmap bitmap;
private Uri filePath;
@Override
public void onCreate(Bundle savedInstanceState ) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload);
init();
}
private void init(){
buttonChoose = findViewById(R.id.btnChoose);
buttonUpload = findViewById(R.id.btnUpload);
imageView = findViewById(R.id.imageView);
buttonChoose.setOnClickListener(this);
buttonUpload.setOnClickListener(this);
}
private void showFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
}
@SuppressWarnings("deprecation")
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
return Base64.encodeToString(imageBytes, Base64.DEFAULT);
}
private void uploadImage(){
@SuppressLint("StaticFieldLeak")
class UploadImage extends AsyncTask<Bitmap,Void,String> {
private ProgressDialog loading;
private RequestHandler rh = new RequestHandler();
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(UploadActivity.this, "Uploading Image", "Please wait...",true,true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(UploadActivity.this,s,Toast.LENGTH_LONG).show();
}
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
HashMap<String,String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);
data.put("name",getFileName(filePath));
return rh.postRequest(UPLOAD_URL,data);
}
}
UploadImage ui = new UploadImage();
ui.execute(bitmap);
}
@Override
public void onClick(View v) {
if (v == buttonChoose) {
showFileChooser();
}
if(v == buttonUpload){
if(filePath!=null) {
uploadImage();
} else {
Toast.makeText(UploadActivity.this,"Select Image",Toast.LENGTH_LONG).show();
}
}
}
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
String getFileName(Uri uri){
String result = null;
if (Objects.equals(uri.getScheme(), "content")) {
try (Cursor cursor=getContentResolver().query(uri, null, null, null, null)) {
if (cursor != null && cursor.moveToFirst()) {
result=cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
}
}
}
if (result == null) {
result = uri.getPath();
assert result != null;
int cut = result.lastIndexOf('/');
if (cut != -1) {
result = result.substring(cut + 1);
}
}
return result;
}
}
**登录活动 到目前为止,编辑文本框在 XML 布局中 **
public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}
简而言之,从 LoginActivity
中获取 editText 值并将其传递给 UploadActivity
并使用该信息在 UploadActivity
.
Take edittext values from LoginActivity & Pass the values to
UploadActivity
在 LoginActivity
中的 onCreate
方法中绑定您的视图(用您的 ID 更改 ID)并通过 Intent
将输入传递给 UploadActivity
。
public class LoginActivity extends AppCompatActivity {
private EditText email,password,email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
email = findViewById(R.id.email);
password = findViewById(R.id.password);
email = findViewById(R.id.clientID);
Button loginBtn = findViewById(R.id.loginBtn);
loginBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String emailAddress = email.getText().toString().trim();
String userPassword = password.getText().toString().trim();
//Pass the data to next activity
String clientId = clientID.getText().toString().trim();
Intent intent = new Intent(LoginActivity.this, UploadActivity.class);
intent.putExtra("clientId", clientId);
intent.putExtra("email", emailAddress);
intent.putExtra("password", userPassword);
startActivity(intent);
}
});
}
}
Use above information to build a URL in
UploadActivity
@RequiresApi(api=Build.VERSION_CODES.KITKAT)
@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
HashMap<String,String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);
data.put("name",getFileName(filePath));
Intent intent = getIntent();
String clientId = intent.getStringExtra("clientId");
Uri.Builder builder = new Uri.Builder();
builder.scheme("https")
.authority("ww.smartpractice.co.za")
.appendPath("files-upload-ruben.asp")
.appendQueryParameter("clientID", clientId);
String myUrl = builder.build().toString();
return rh.postRequest(myUrl,data);
}
干杯:)