안드로이드 개발 질문/답변
(글 수 45,052)
import java.util.ArrayList; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.ContentValues; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; public class Japanese extends Activity { SQLiteDatabase myDB; SimpleAdapter myADT; ArrayList<String> aryMBRList; ArrayAdapter<String> adtMembers; ListView lstView; static final private int DIALOG_CHOICE = 0; int selectId = 0; String urlParsePhoneNum = ""; public void onCreate(Bundle savedInstanceState) { String strRecord = null; super.onCreate(savedInstanceState); setContentView(R.layout.search); SQLiteDatabase myDB = this.openOrCreateDatabase("PhoneBook", MODE_PRIVATE, null); myDB.execSQL("Drop table if exists members"); myDB.execSQL("Create table members (" + " _id integer primary key autoincrement, " + "Name text not null, " + "Mainmenu text not null, " + "Time text not null, " + "Phone_No text not null, " + "Menu text not null, "+ "Coment text not null);" ); myDB.execSQL("Insert into members " + " (Name, Mainmenu, Time, Phone_No, Menu, Coment) values ('기소야', '돈까스정식','11:30분~22시','031-240-1678', '돈가스정식,기소야정식,가쯔나베정식,우동정식,우나기정식,기소야특정식,김치우동정식,치킨까스정식','시원한 모밀국수가 생각날때 기소야 수원점');" ); myDB.execSQL("Insert into members " + " (Name, Mainmenu, Time, Phone_No, Menu, Coment) values ('다도', '특사시미','10:30분~22시','031-240-2288', '코스B,런치정식,특사시미/사시미,코스A','2~3만원대 저렴한 코스요리!');" ); myDB.execSQL("Insert into members " + " (Name, Mainmenu, Time, Phone_No, Menu, Coment) values ('맛있는나라', '장어초밥','11:30분~22시','031-252-4078', '장어초밥,생선초밥,유부초밥','푸짐하고 저렴하게 먹을 수 있는 곳.');" ); myDB.execSQL("Insert into members " + " (Name, Mainmenu, Time, Phone_No, Menu, Coment) values ('미시까', '생선초밥스페셜','11:30분~22시','031-244-2490', '캘리포니아롤,캘리세트,새우튀김롤,생선초밥세트,생선초밥커플세트,생선초밥스페셜','여긴 안가봄! 알려주세요;');" ); myDB.execSQL("Insert into members " + " (Name, Mainmenu, Time, Phone_No, Menu, Coment) values ('조은참치', '참다랑어','11:30분~22시','031-244-0630', '참다랑어,참치초밥,참치회초밥,점심특선','참치의 참맛을 느낄 수 있는 바로 그곳!');" ); Cursor allRCD = myDB.query("members", null, null, null, null, null, null, null); aryMBRList = new ArrayList<String>(); if(allRCD != null){ if (allRCD.moveToFirst()){ do{ strRecord = allRCD.getString(1)+"\t\t"+allRCD.getString(2)+"\t\t"+allRCD.getString(3)+"\t\t"+allRCD.getString(4); aryMBRList.add(strRecord); }while(allRCD.moveToNext()); } } adtMembers = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, aryMBRList); lstView = (ListView)findViewById(R.id.lstMember); lstView.setAdapter(adtMembers); lstView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); if(myDB != null) myDB.close(); lstView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Intent intent = new Intent(Japanese.this, HungryInfo.class); startActivity(intent); } }); }
제가 이번에 졸업을 할려고 작품 하나 만들어야 하는데 ;;워낙에 맨땅에 헤딩식으로 하다보니 막히는 부분이 적지 않네요...
간단한 맛집을 만들어 볼려는데 조언좀 부탁 드립니다.
우선 이부분이 리스트뷰에 음식점을 뿌려 주는곳이구요
여기가 받아 주는 부분인데요 ↓
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class HungryInfo extends Activity implements View.OnClickListener{ Button btnInfo; Button btnCall; TextView txtInfo; String id="aaa"; public void onCreate(Bundle savedInstanceState) { Intent intent= getIntent(); id = intent.getStringExtra("selectId"); super.onCreate(savedInstanceState); setContentView(R.layout.info); Button btnInfo = (Button) findViewById(R.id.btnToMap); Button btnCall = (Button) findViewById(R.id.btnCall); TextView txtInfo = (TextView) findViewById(R.id.TextView04); // TODO Auto-generated method stub btnInfo.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(HungryInfo.this, HungryMap.class); startActivity(intent); } }); btnCall.setOnClickListener(this); } // dialIntent로 넘어 가는 부분(전화걸기 부분.) protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK) // 액티비티가 정상적으로 종료되었을 경우 { if(requestCode==1) // InformationInput에서 호출한 경우에만 처리합니다. { // 받아온 이름과 전화번호를 InformationInput 액티비티에 표시합니다. id = getIntent().getStringExtra("selectId"); // id.indexOf(data.getStringExtra("selectId")); } } } public void onClick(View v){ Toast.makeText(HungryInfo.this, id, Toast.LENGTH_SHORT).show(); /* Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+ "33" )); dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(dialIntent); */} }
조금 복잡해도 조언좀 부탁 드립니다.
워낙에 맨땅에 헤딩을 하다보니..소스 정리도 못했고 인터넷에서 공부 해가면서 만들어 본 부분인데;;
모르는건 모르겠더라구요;;
어느 부분에 어떤걸 넣어야 하는지 알려주시면 감사하겠습니다...
정작 다음주 화요일이 작품 발표날인데 이 DB부분이 막혀서 벌써 몇주째 제자리 걸음만 하고 있습니다.
}
둘째, List 포인터만 Intent로 넘기는방법
셋째, 싱글턴을 이용하여 전역 데이터처럼 부리는 방법