안 드 로 이 드 기초 3 일 째
? 。
mysql sqlserver2000 sqlite
SqliteOpenHelper
:
1. SqliteOpenHelper, , oncreate ,onupgrade
:
//context : , name: factory: cursor , null
//version: , 1 , ,onUpgrade ,4.0
super(context, "info.db", null,1);
2. , getReadableDatabase() ,
3. oncreate onupgrdate :
oncreat e ; , sql ;SQLiteDatabase db sql
//onUpgrade ;
getWritableDatabase getReadableDatabase SqliteDatabase.
:
getReadableDatabase:
, , 。
getWritableDatabase:
, , 。
2 안 드 로 이 드 데이터베이스 첫 번 째 방식 추가 삭제 검사
1. , getReadableDatabase , SqliteDatebase
2. SqliteDatebase execSql() , rawQuery 。
****** : , sql 。sql ,
private MySqliteOpenHelper mySqliteOpenHelper;
public InfoDao(Context context){
//
mySqliteOpenHelper = new MySqliteOpenHelper(context);
}
public void add(InfoBean bean){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//sql:sql , bindArgs:sql
db.execSQL("insert into info(name,phone) values(?,?);", new Object[]{bean.name,bean.phone});
//
db.close();
}
public void del(String name){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//sql:sql , bindArgs:sql
db.execSQL("delete from info where name=?;", new Object[]{name});
//
db.close();
}
public void update(InfoBean bean){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//sql:sql , bindArgs:sql
db.execSQL("update info set phone=? where name=?;", new Object[]{bean.phone,bean.name});
//
db.close();
}
public void query(String name){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//sql:sql , selectionArgs: , cursor
Cursor cursor = db.rawQuery("select _id, name,phone from info where name = ?", new String []{name});
// Cursor
if(cursor != null && cursor.getCount() >0){// cursor
// ,
while(cursor.moveToNext()){// ,
//
int id = cursor.getInt(0);
String name_str = cursor.getString(1);
String phone = cursor.getString(2);
System.out.println("_id:"+id+";name:"+name_str+";phone:"+phone);
}
cursor.close();//
}
//
db.close();
}
3 안 드 로 이 드 의 다음 추가 삭제 검사 방식
1. , getReadableDatabase , SqliteDatebase
2. SqliteDatebase insert,update,delete ,query 。
****** : , sql , , 。 , 。
private MySqliteOpenHelper mySqliteOpenHelper;
public InfoDao(Context context){
//
mySqliteOpenHelper = new MySqliteOpenHelper(context);
}
public boolean add(InfoBean bean){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
ContentValues values = new ContentValues();// map ,
values.put("name", bean.name);
values.put("phone", bean.phone);
//table: , nullColumnHack: , , values: , : Id ,-1
long result = db.insert("info", null, values);// sql
//
db.close();
if(result != -1){//-1
return true;
}else{
return false;
}
}
public int del(String name){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//table : , whereClause: , whereArgs: ; :
int result = db.delete("info", "name = ?", new String[]{name});
//
db.close();
return result;
}
public int update(InfoBean bean){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
ContentValues values = new ContentValues();// map ,
values.put("phone", bean.phone);
//table: , values: , whereClause: , whereArgs: , :
int result = db.update("info", values, "name = ?", new String[]{bean.name});
//
db.close();
return result;
}
public void query(String name){
// sql sqliteDatabase
// getReadableDatabase ,
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
//table: , columns: , null ; selection: , selectionArgs: ,
//groupBy: , having: , orderBy:
Cursor cursor = db.query("info", new String[]{"_id","name","phone"}, "name = ?", new String[]{name}, null, null, "_id desc");
// Cursor
if(cursor != null && cursor.getCount() >0){// cursor
// ,
while(cursor.moveToNext()){// ,
//
int id = cursor.getInt(0);
String name_str = cursor.getString(1);
String phone = cursor.getString(2);
System.out.println("_id:"+id+";name:"+name_str+";phone:"+phone);
}
cursor.close();//
}
//
db.close();
}
4 데이터베이스 의 사무
: sql , , , ,
//
public void transtation(View v){
//1.
BankOpenHelper bankOpenHelper = new BankOpenHelper(this);
//2. getReadableDatabase , , SqliteDatabase (sql )
SQLiteDatabase db = bankOpenHelper.getReadableDatabase();
//3. , 200, 200
db.beginTransaction();//
try {
db.execSQL("update account set money= money-200 where name=?",new String[]{" "});
int i = 100/0;//
db.execSQL("update account set money= money+200 where name=?",new String[]{" "});
db.setTransactionSuccessful();// sql
} finally {
db.endTransaction();// , , sql
}
}
5 listview 입문
ListView , , ListAdapter 。EditText Button TextView ImageView Checkbox 。
1. Listview
2. listview
3. myAdapter BaseAdapter( ), 4 ,
int getcount: listview
object getview: listview 。
4. Adapter , listview。
listview.setAdapter(ListAdapter adapter);
6 listview 최적화
adapter getview() convertView,convertView view , , , , getview 。
TextView view = null;
if(convertView != null){// converView ,
view = (TextView) convertView;
}else{
view = new TextView(mContext);// textView
}
return view;
7 listview --- 호랑이 기계
javaweb mvc
m....mode....javabean
v....view....jsp
c....control...servlet
listview mvc
m....mode....Bean
v....view....listview
c....control...adapter
8 listview 디 스 플레이 원리 (이해)
1. listview int getcount()
2. listview view getview()
3. item , , ,
4. listview , , 。
9 복잡 한 listview 인터페이스 표시, 다크호스 뉴스 (* * * * * * * * 중요 * * * * * * * * * * * * * * * * *)
1. listview
2. listview
3. list ,( myadapter) myadapter , listView
4. myadapter BaseAdapter。 list 4
//
a.
b. 4
getcount(): , 。
getItem : list postion bean
getItemId, postion
getView(): ; 。
1. convertview, 。 。 , view getview 。
if(view.convertView!=null){
view = View.inflater(Context context, int resuorceId,ViewGroup root)
2. view , list bean /
3. list postion Bean
4. bean /
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
//1. converView listview, view getview()
if(convertView != null){
view = convertView;
}else {
//view = View.inflater(Context context, int resuorceId,ViewGroup root)
//context: , resource: view layout id, root: layout root(ViewGroup) getview , null
view = View.inflate(context, R.layout.item_news_layout, null);// view
}
//2. view // list bean
ImageView item_img_icon = (ImageView) view.findViewById(R.id.item_img_icon);
TextView item_tv_des = (TextView) view.findViewById(R.id.item_tv_des);
TextView item_tv_title = (TextView) view.findViewById(R.id.item_tv_title);
//3. list Bean , postion
NewsBean newsBean = list.get(position);
//4. bean , /
item_img_icon.setImageDrawable(newsBean.icon);// imageView
item_tv_title.setText(newsBean.title);
item_tv_des.setText(newsBean.des);
return view;
}
5. myadapter / listview
6. listview item , , , 。
// listview //
lv_news1.setOnItemClickListener(this);
lv_news2.setOnItemClickListener(this);
lv_news3 .setOnItemClickListener(this);
// OnItemClicklistener() , bean , url , Intent
//listview parent: listviw view: view position: id: id
public void onItemClick(AdapterView> parent, View view, int position,
long id) {
// bean url
NewsBean bean = (NewsBean) parent.getItemAtPosition(position);
String url = bean.news_url;
//
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
}
1. listview ok
2. listview ok
3. list , Myadapter 。 ok
4. Adapter BaseAdatper, list ,
a. ok
b. getCount ok
c.getView : ok
1. convertview, , , view getview 。
view = View.inflater(Context context, int resuorceId,ViewGroup root)
2. view , list bean
3. list postion Bean
4. bean
d.getItem : list postion bean
e.getItemId, postion
5. Adapter , listview ok
6. listview ok
listview.setOnItem....
7. OnItemClicklistener , bean , url, Intent ; ok
10 xml 레이아웃 을 view 대상 으로 변환 하 는 세 가지 방식
1.
//context: , resource: view layout id, root: layout root(ViewGroup) codify , null
//view = View.inflate(context, R.layout.item_news_layout, null);// view
2.
// LayoutInflater xml view
//view = LayoutInflater.from(context).inflate(R.layout.item_news_layout, null);
3.
// context LayoutInflater, LayoutInflater view
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.item_news_layout, null);
11. arrayadapter (보지 마 세 요. 이것 만 있 으 면 됩 니 다)
//
ListView lv_array = (ListView) findViewById(R.id.lv_array);
ListView lv_simple = (ListView) findViewById(R.id.lv_simple);
// arrayAdapter
//context , resource: id, textViewResourceId: textview id, objects: texitview
ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.item_listview_layout, R.id.item_tv_class, classz);
lv_array.setAdapter(arrayAdapter);
12 simpledapter (안 봐 도 돼, 이거 있 는 거 알 면 돼)
// simpleAdapter, simpleAdapter
ArrayList
13. 데이터베이스 의 listview 인터페이스 표시 (뉴스 회, 이것 은 할 수 있 습 니 다)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.