Об этом уже спрашивали, но у меня это не сработало. Поэтому я подумал, что просто попрошу еще раз.
У меня есть JSONarray, который я хочу передать второму действию, используя намерение.
Это часть моего кода, которая подключается к базе данных mysql и помещает данные о пользователе в JSONarray. Пока все это работает.
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
String ct_user;
String ct_pass;
Intent personal = new Intent(Home.this, Loggedin.class);
try{
jArray = new JSONArray(result);
JSONObject json_data=null;
json_data = jArray.getJSONObject(0);
ct_user = json_data.getString("user");
ct_pass = json_data.getString("pass");
if (passwordstring.equals(ct_pass)){
Bundle b = new Bundle();
b.putString("userdata",json_data.toString());
personal.putExtras(b);
startActivity(personal);
}
}
Я хотел бы отправить мой полный JSONarray через намерение ко второму виду деятельности (Loggedin). Так что я могу отобразить, например, ct_email = json_data.getString ("email"); которое является другим значением в массиве, которое первое действие получает из mysql.
Это был другой вопрос на эту тему:
передача jsonarray из одного занятия в другое
Это решение не сработало для меня, потому что во втором упражнении все время говорили, что не может преобразовать пакет в намерение, я перепробовал все, что мог придумать.
Intent b = getIntent().getExtras();
String userdata=b.getString("userdata");
Спасибо
EDIT
Спасибо за быстрые ответы, ребята. Я новичок в Stackoverflow, так что извините за ошибки, связанные с маркировкой кода и т. Д. Я стараюсь все делать правильно.
Но это все еще не работает для меня. Это часть моего второго занятия:
public class Loggedin extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loggedin);
myfunction();
}
public void myfunction(){
Bundle b = getIntent().getExtras();
String userdataArray = b.getString("userdata");
String ct_email;
ct_email = userdataArray.getString("email");
}
}
Ошибка в том, что «метод getString (String) не определен для типа String».
Я, должно быть, делаю что-то глупое.