android_basic.zip



[컨텐트 프로바이더]
1. 건수 조회
Cursor c = getContentResolver().query(MyProdDBCons.CONTENT_URI, null, null, null, null);
Toast.makeText(MyCPDemo.this, "건수:" + c.getCount(), 0).show();

2.데이터 조회 
String columns[] = {MyProdDBCons.PROD_ID, MyProdDBCons.PROD_CODE}; // select할 컬럼 목록
Cursor c = getContentResolver().query(MyProdDBCons.CONTENT_URI, columns, null, null, null); // 커서 쿼리
String[] cols = {MyProdDBCons.PROD_ID, MyProdDBCons.PROD_CODE}; // 가져올 컬럼의 이름값 배열
int[] view_ids = {android.R.id.text1, android.R.id.text2}; // 컬럼을 매치시킬 View의 ID 배열
setListAdapter(new SimpleCursorAdapter(MyCPDemo.this,  android.R.layout.simple_list_item_2, c, cols, 

view_ids));

3. 1건 입력 
ContentValues values = new ContentValues();
values.put(MyProdDBCons.PROD_CODE, ed_prod_code.getText().toString());
values.put(MyProdDBCons.PROD_NAME, ed_prod_name.getText().toString());
getContentResolver().insert(MyProdDBCons.CONTENT_URI, values);
Toast.makeText(MyCPDemo.this, "입력되었습니다", 0).show();

4.1건 수정
ContentValues values = new ContentValues();
values.put(MyProdDBCons.PROD_CODE, ed_prod_code.getText().toString());
values.put(MyProdDBCons.PROD_NAME, ed_prod_name.getText().toString());  
String where = MyProdDBCons.PROD_ID+ "= ? ";
String[] selectionArgs = {prod_id};
getContentResolver().update(MyProdDBCons.CONTENT_URI, values, where, selectionArgs);
Toast.makeText(MyCPDemo.this, "수정되었습니다", 1000).show();

5. 1건 삭제
String where = MyProdDBCons.PROD_ID+ "= ? ";
String[] selectionArgs = {prod_id};
getContentResolver().delete(MyProdDBCons.CONTENT_URI, where, selectionArgs);
Toast.makeText(MyCPDemo.this, "삭제되었습니다", 0).show();


package android.edu;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import android.app.ListActivity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MyAppList extends ListActivity {
// 설치된 앱 이름을 담을 배열
private ArrayList<String> items = new ArrayList<String>();
// 설치된 앱 정보를 담는 컬렉션 객체 
private List<ApplicationInfo> appList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 설치된 앱리스트 객체 추출 (PackageManager)
appList = getPackageManager().getInstalledApplications(0);
// 어댑터에 사용할 배열(ApplicationInfo) 초기화 (Iterator패턴 사용)
Iterator<ApplicationInfo> itr = appList.iterator();
while (itr.hasNext()) {
ApplicationInfo info = itr.next();
items.add(info.packageName); // items배열에 한건씩 추가함 
}
// ArrayAdapter 생성
//ArrayAdapter<String> adapter 
//= new ArrayAdapter<String>(MyAppList.this, android.R.layout.simple_list_item_1, items);
// 커스텀 레이아웃을 설정 
//ArrayAdapter<String> adapter 
//= new ArrayAdapter<String>(MyAppList.this, R.layout.my_app_row, R.id.txt1, items);
// 어댑터 설정
//setListAdapter(adapter);
MyAdapter adapter = new MyAdapter(MyAppList.this, R.layout.my_app_row, R.id.txt1, items);
setListAdapter(adapter);
}  // onCreate 끝
// 커스텀어댑터 선언 
class MyAdapter extends ArrayAdapter {
// 3번째 생성자 함수 
public MyAdapter(Context context, int resource, int textViewResourceId, List objects) {
super(context, resource, textViewResourceId, objects);
}
// getView 오버라이딩
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// XML 레이아웃 인플레이션 
View row = getLayoutInflater().inflate(R.layout.my_app_row, null);
// 레이아웃의 항목과 데이터를 매치...
TextView txt1 = (TextView)row.findViewById(R.id.txt1);
txt1.setText(items.get(position));
ImageView img = (ImageView)row.findViewById(R.id.img);
// icon 설정: ApplicationInfo객체로부터 아이콘을 로드 
ApplicationInfo appInfo = (ApplicationInfo)appList.get(position);
// 로드한 아이콘을 이미지에 설정
img.setImageDrawable(appInfo.loadIcon(getPackageManager()));
return row;
}
}
} // MyAppList 끝 


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  
   <ImageView android:id="@+id/img"  android:src="@drawable/icon"
   android:layout_width="wrap_content" android:layout_height="wrap_content"/>
  
   <TextView android:id="@+id/txt1" android:layout_weight="1"
   android:layout_width="wrap_content" android:layout_height="wrap_content"/>
  
</LinearLayout>










profile