[현재 접속자 현황]
안드로이드 관련 팁 게시판입니다.
android_basic.zip
글수 27
[컨텐트 프로바이더]
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>






okgosu
최근 답변 댓글