#android
#Android
Вопрос:
Я хочу установить значение в модели Resigter. Я хочу создать действие регистрации за четыре шага. Я хочу знать, как установить значение в регистровой модели. И я должен получить это значение из любого места.
Вот мой код, все значения помещаются в одно действие. И я хочу сделать четыре шага
public void UploadData(final String link) {
Response = "";
try {
HttpResponse response;
Log.d("pre_link", "pre_link = " link);
final HttpClient httpclient = new DefaultHttpClient();
final HttpPost httppost = new HttpPost(link);
/*httppost.addHeader("Authorization", "Basic "
Base64.encodeToString(("username" ":"
"password").getBytes(), Base64.NO_WRAP));*/
MultipartEntity mpEntity = new MultipartEntity(
HttpMultipartMode.BROWSER_COMPATIBLE);
String FullName = fullName.getText().toString();
String UserName = userName.getText().toString();
String DateOfBirth = dob.getText().toString();
String Age = age.getText().toString();
String Sex = gender.getText().toString();
String InterestedIn = interestIn.getText().toString();
String ToMeet = "both";//toMeet.getText().toString();
String Email = email.getText().toString();
String Password = pwd.getText().toString();
String Lat = String.valueOf(latitude);
String Long = String.valueOf(longitude);
mpEntity.addPart("fullName", new StringBody(FullName));
mpEntity.addPart("userName", new StringBody(UserName));
mpEntity.addPart("dob", new StringBody(DateOfBirth));
mpEntity.addPart("age", new StringBody(Age));
mpEntity.addPart("gender", new StringBody(Sex));
mpEntity.addPart("interestIn", new StringBody(InterestedIn));
mpEntity.addPart("toMeet", new StringBody(ToMeet));
mpEntity.addPart("email", new StringBody(Email));
mpEntity.addPart("pwd", new StringBody(Password));
mpEntity.addPart("latitude", new StringBody(Lat));
mpEntity.addPart("longitude", new StringBody(Long));
if (bab1 != null) {
mpEntity.addPart("uploaded_file", bab1);
}
httppost.setEntity(mpEntity);
createCancelProgressDialog("Uploading Image", "Please wait...", "Cancel");
new Thread() {
public void run() {
try {
HttpResponse response;
Message msg = new Message();
msg.what = 1;
try {
response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
Response = EntityUtils.toString(resEntity)
.trim();
Log.d("Response", "Response = " Response);
Message msg2 = new Message();
msg2.what = 1;
UpdateHandler.sendMessage(msg2);
}
if (resEntity != null) {
resEntity.consumeContent();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
}
}.start();
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public Handler UpdateHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
try {
cancelDialog.dismiss();
cancelDialog.hide();
Log.d("Response", "Response = " Response);
Toast.makeText(SignUp.this,"you are Success", Toast.LENGTH_SHORT).show();
RegisterModel register =new RegisterModel();
//register.setfullName();
Intent i = new Intent(getApplicationContext(),SignupSuccessfully.class);
// i.putExtra("pwd",pwsd);
startActivity(i);
finish();
//flag=1;
//String read_data = ReadDataFromAppCache(MainActivity.this, "file_name");
//StoreDataToAppCache(MainActivity.this, "file data", "file_name");
} catch (Exception e) {
// TODO: handle exception
}
super.handleMessage(msg);
}
}
};
ProgressDialog cancelDialog = null;
private void createCancelProgressDialog(String title, String message,
String buttonText) {
cancelDialog = new ProgressDialog(SignUp.this);
cancelDialog.setTitle(title);
cancelDialog.setMessage(message);
cancelDialog.setCanceledOnTouchOutside(false);
// cancelDialog2.setIcon(R.drawable.icon);
/*cancelDialog.setButton(buttonText,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
cancelDialog.dismiss();
cancelDialog.hide();
return;
}
});*/
cancelDialog.show();
}
public Bitmap setBitmap(String _path) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inTempStorage = new byte[16*1024];
options.inPurgeable = true;
//options.inJustDecodeBounds = true;
Bitmap bitmap = null;
ExifInterface exif;
try {
bitmap = BitmapFactory.decodeFile(selectedImagePath, options);
exif = new ExifInterface(_path);
int exifOrientation = exif
.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
int rotate = 0;
switch (exifOrientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotate = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotate = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
rotate = 270;
break;
}
//Log.d("image_rotation", "image_rotation = " rotate);
if (rotate != 0) {
int w = bitmap.getWidth();
int h = bitmap.getHeight();
// Setting pre rotate
Matrix mtx = new Matrix();
mtx.preRotate(rotate);
// Rotating Bitmap amp; convert to ARGB_8888, required by tess
bitmap = Bitmap.createBitmap(bitmap, 0, 0, w, h, mtx, false);
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bitmap;
}
public String ReadDataFromAppCache(Context context, String file_name) {
String output = "";
Log.d("file name", "file name = " file_name);
try {
int ch;
File f = new File(context.getFilesDir() "/" file_name);
//Log.d("file path", "" f.getAbsolutePath());
StringBuffer strContent = new StringBuffer("");
FileInputStream fin = null;
try {
fin = new FileInputStream(f);
while ((ch = fin.read()) != -1)
strContent.append((char) ch);
fin.close();
} catch (FileNotFoundException e) {
//Log.d("File " f.getAbsolutePath(), " could not be found on filesystem");
output = "null";
return output;
} catch (IOException ioe) {
//Log.d("Exception while reading the file", "Exception while reading the file" ioe);
}
try {
output = URLDecoder.decode(strContent.toString(), "UTF-8");
} catch (UnsupportedEncodingException uee) { }
//Log.d("This is xml", "This is xml" strContent);
//output = strContent.toString();
} catch (Exception e) {
// TODO: handle exception
}
return output;
}
public void StoreDataToAppCache(Context con, String fileData, String file_name) {
try {
String encodedValue = "";
try {
encodedValue = URLEncoder.encode(fileData, "UTF-8");
} catch (UnsupportedEncodingException uee) {
}
//encodedValue = sBody;
//Log.d("store text", "store_text = " encodedValue);
File f = new File(con.getFilesDir() "/" file_name);
FileWriter writer = new FileWriter(f);
writer.append(encodedValue);
writer.flush();
writer.close();
Log.d("save complete", "save complete");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Не могли бы вы рассказать мне, как установить это значение в регистрах, тогда я создам четыре шага регистрации.
Комментарии:
1. Вы можете получить его через передачу данных, используя пакет с Activity.
2. Что здесь где-нибудь? 🙂
3. Если вы хотите получить доступ к значению в любом месте, вам нужно сохранить эти данные в SharedPreferences .
4. Последний шаг страницы регистрации .. это будет где угодно .. я должен сделать
5. Вы хотите отправить данные в SignupSuccessfully.class ?
Ответ №1:
Вы можете сделать это с помощью одного из следующих методов
- Используйте общие настройки для сохранения ваших данных, и вы можете получить к ним доступ из любого места приложения (рекомендуется).
- Если у вас есть больше данных для хранения, я рекомендую использовать database .
- Вы можете передавать значения из одного действия в другое, используя
intent.putExtra()
метод. Но вам придется делать это для всех новых действий - Другой простой метод — сделать ваши переменные общедоступными статическими и получить доступ к данным с помощью статической ссылки из любого места вашего проекта. (Не рекомендуется).
Надеюсь, это вам поможет. 🙂
Комментарии:
1. спасибо anu за ответ.. Я хочу рассказать, как я хочу установить действие шага 1: пол мужской или женский нажмите на следующее действие 2: Интерес ……. нажмите далее 3 возраст…….
2. хорошо, тогда вы продолжаете передавать значения через намерение в Activity2 из Activity 1. Затем в действии, где вы завершаете процесс регистрации, сохраните значения в общих настройках. Чтобы вы могли получить к ним доступ из любой точки вашего проекта даже после завершения регистрационных действий.
3. Есть ли какое-нибудь лучшее учебное пособие, позволяющее легко и понятно узнать о совместном использовании
4. Можно использовать строку male=»male»; Редактор. putString(«male», Male) editor.comit(); .. НАМЕРЕНИЕ внутри представления щелчка. Будет ли оно храниться через общий доступ, могу ли я использовать эти значения
Ответ №2:
Вариант 1: просто передайте данные
если вы хотите просто передавать данные из одного действия в другое, вы можете сделать это следующим образом
startActivity(new Intent(Context,Activity_name.class).putExtra("Key",Value));
и переходите к следующему действию, например
Intent intent = getIntent();
variable = = intent.getXXXExtra("Key");
Вариант 2 Сохранить данные в SharedPreferences
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putXXX("Key", Value);
editor.commit();
и получить из него данные
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
Variable = getResources().getInteger("Key");
Комментарии:
1. Спасибо и спасибо … я использую веб-интерфейс api.. Я должен отправить это значение на сервер с помощью метода Post….
2. в чем проблема?? где вы застряли?
3. я собираюсь сделать процесс регистрации в четыре этапа.. 1 Пол: нужно использовать флажок мужчина / женщина 2: заинтересованный .. три флажка три флажка Эти значения будут использоваться на последнем шаге для отправки на сервер
Ответ №3:
Существует много способов передачи значения из одного действия в другое действие, например, общие настройки, пакет, намерение putextra, база данных .. для новичка вы можете использовать общие настройки.. я надеюсь, что это поможет вам..
1. Следующий урок может помочь вам:
Базовое руководство по общим предпочтениям (форма входа и регистрации)