Хорошо, так что я действительно новичок в Android, и чтобы начать работу, я заплатил разработчику, чтобы он создал мне простое приложение, и теперь я пытаюсь разобраться в нем, чтобы понять его.
Проблема, которую я пытаюсь решить, - это начальный экран запуска приложения.Я получил это, чтобы изменить, зайдя в файл манифеста Android и изменив это значение:
<activity android:label="@string/app_name" android:name="Home">
на это значение:
<activity android:label="@string/app_name" android:name="Languages">
И когда я развертываю приложение на моем устройстве, онозагружает класс Языки просто отлично!Проблема в том, что когда я покидаю приложение и затем пытаюсь вернуться обратно, оно даже не пытается запустить приложение, оно просто возвращается на домашний экран.
Нет ничего, что говорило бы мне, что происходит, и присоединение отладчика после того, как приложение было первоначально закрыто, также не будет работать.
У кого-нибудь есть какие-либо идеи относительно того, чтоВозможно, это происходит?
Вот код из файла манифеста Android: `
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="Language">
<intent-filter>
<action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="About"></activity>
<activity android:theme="@android:style/Theme.Light" android:name="Language"></activity>
<activity android:name="Volume" android:theme="@android:style/Theme.Light"></activity>
<activity android:name="Book" android:theme="@android:style/Theme.Light"></activity>
<activity android:name="Chapter" android:theme="@android:style/Theme.Light"></activity>
<activity android:name="Verse" android:theme="@android:style/Theme.NoTitleBar"></activity>
<activity android:name="Settings"></activity>
</application>
`
Тогда вот код для класса Home, который изначально был запущенсначала: `package com.elan.reader;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Looper;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.elan.reader.util.DatabaseHelper;
import com.elan.reader.util.DatabaseHelper_Spa;
public class Home extends Activity implements View.OnClickListener{
/** Called when the activity is first created. */
Button aboutBtn,readBtn;
Home me;
DatabaseHelper myDatabaseAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
me=this;
aboutBtn = (Button) findViewById(R.id.about);
aboutBtn.setFocusable(true);
aboutBtn.setOnClickListener(this);
readBtn = (Button) findViewById(R.id.read);
readBtn.setFocusable(true);
readBtn.setOnClickListener(this);
myDatabaseAdapter = DatabaseHelper.getInstance(me);
if(!myDatabaseAdapter.databaseReady()){
try{
myDatabaseAdapter.copyDatabase2();
DatabaseHelper_Spa myDatabaseAdapter_spa = DatabaseHelper_Spa.getInstance(me);
myDatabaseAdapter_spa.copyDatabaseSpanish2();
}catch(Exception e){
e.printStackTrace();
}
myDatabaseAdapter.databaseReady();
}else{
//myDatabaseAdapter.close();
if(myDatabaseAdapter.getSaveVerse()[0]!=null||!myDatabaseAdapter.getSaveVerse()[0].equals("")){
String data[]=myDatabaseAdapter.getSaveVerse();
Intent intent=new Intent(Home.this, Verse.class);
intent.putExtra("language",data[0]);
intent.putExtra("volume_id",data[1]);
intent.putExtra("chapter",data[2]);
intent.putExtra("book",data[3]);
intent.putExtra("book_id",data[4]);
intent.putExtra("multiple_languages",false);
startActivity(intent);
}
}
}
@Override
public void onClick (View view){
if(view==aboutBtn){
startActivity(new Intent(Home.this, About.class));
}else if(view==readBtn){
ProgressBar seek = (ProgressBar) findViewById(R.id.seek);
seek.setVisibility(View.VISIBLE);
TextView msg = (TextView) findViewById(R.id.loading);
msg.setVisibility(View.VISIBLE);
new Thread(){
public void run(){
Looper.prepare();
if(myDatabaseAdapter.getSaveVerse()[0]==null||myDatabaseAdapter.getSaveVerse()[0].equals("")){
startActivity(new Intent(Home.this, Language.class));
}else{
String data[]=myDatabaseAdapter.getSaveVerse();
Intent intent=new Intent(Home.this, Verse.class);
intent.putExtra("language",data[0]);
intent.putExtra("volume_id",data[1]);
intent.putExtra("chapter",data[2]);
intent.putExtra("book",data[3]);
intent.putExtra("book_id",data[4]);
intent.putExtra("multiple_languages",false);
startActivity(intent);
}
Looper.loop();
}
}.start();
}
}
}`
А затем вот код для нового класса, который мне нужно сначала запустить: `package com.elan.reader;
import java.util.ArrayList;
import com.elan.reader.util.DatabaseHelper;
import com.elan.reader.util.DatabaseHelper_Spa;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Chronometer;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class Language extends ListActivity {
/** Called when the activity is first created. */
private ArrayList<SettingsObject> m_orders = null;
private AboutAdapter m_adapter;
private Runnable viewOrders;
String[] listData={"English","French"};
//Bitmap[] listImage;
private Runnable returnRes = new Runnable() {
@Override
public void run() {
if(m_orders != null && m_orders.size() > 0){
m_adapter.notifyDataSetChanged();
for(int i=0;i<m_orders.size();i++)
m_adapter.add(m_orders.get(i));
}
m_adapter.notifyDataSetChanged();
}
};
ImageView backBtn;
static boolean running=false;
static long startTime=0;
static Chronometer timer ;
static long hit_id=-1;
static int stopped=0;
Context me;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.title_list_menu);
me=this;
DatabaseHelper myDatabaseAdapter;
myDatabaseAdapter = DatabaseHelper.getInstance(me);
if(!myDatabaseAdapter.databaseReady()){
try{
myDatabaseAdapter.copyDatabase2();
DatabaseHelper_Spa myDatabaseAdapter_spa = DatabaseHelper_Spa.getInstance(me);
myDatabaseAdapter_spa.copyDatabaseSpanish2();
}catch(Exception e){
e.printStackTrace();
}
myDatabaseAdapter.databaseReady();
}else{
//myDatabaseAdapter.close();
if(myDatabaseAdapter.getSaveVerse()[0]!=null||!myDatabaseAdapter.getSaveVerse()[0].equals("")){
String data[]=myDatabaseAdapter.getSaveVerse();
Intent intent=new Intent(Language.this, Verse.class);
intent.putExtra("language",data[0]);
intent.putExtra("volume_id",data[1]);
intent.putExtra("chapter",data[2]);
intent.putExtra("book",data[3]);
intent.putExtra("book_id",data[4]);
intent.putExtra("multiple_languages",false);
startActivity(intent);
}
}
// listImage=new Bitmap[]{BitmapFactory.decodeResource(getResources(), R.drawable.sharing),BitmapFactory.decodeResource(getResources(), R.drawable.contact_us),BitmapFactory.decodeResource(getResources(), R.drawable.about)};
m_orders = new ArrayList<SettingsObject>();
this.m_adapter = new AboutAdapter(this, R.layout.language_row, m_orders);
setListAdapter(this.m_adapter);
viewOrders = new Runnable(){
@Override
public void run() {
getOrders();
}
};
Thread thread = new Thread(null, viewOrders, "MagentoBackground");
thread.start();
}
@Override
protected void onListItemClick(ListView li, View v, int position, long id) {
super.onListItemClick(li, v, position, id);
Intent intent=new Intent(Language.this, Volume.class);
intent.putExtra("language",""+position);
startActivity(intent);
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("onRestart");
//loadImages();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println(" onResume");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("onStart");
}
private class AboutAdapter extends ArrayAdapter<SettingsObject> {
private ArrayList<SettingsObject> items;
public AboutAdapter(Context context, int textViewResourceId, ArrayList<SettingsObject> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.language_row, null);
}
final SettingsObject o = items.get(position);
if (o != null) {
TextView title = (TextView) v.findViewById(R.id.title);
if (title != null) {
title.setText(o.getName());
}
}
return v;
}
}
private void getOrders(){
try{
m_orders = new ArrayList<SettingsObject>();
for(int i=0;i<listData.length;i++){
SettingsObject temp = new SettingsObject(listData[i]);
m_orders.add(temp);
}
} catch (Exception e) {
e.printStackTrace();
}
runOnUiThread(returnRes);
}
class SettingsObject {
private String name;
public String getName() {
return name;
}
public SettingsObject(String name) {
this.name = name;
}
}
} `