안드로이드 개발 질문/답변
(글 수 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로 넘기는방법
셋째, 싱글턴을 이용하여 전역 데이터처럼 부리는 방법