Content Provider(一) basics(一)

2014-11-24 10:37:49 · 作者: · 浏览: 2
package com.example.drawernavigation.fragment;

import com.example.drawernavigation.MainActivity;
import com.example.drawernavigation.R;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.UserDictionary;
import android.support.v4.app.Fragment;
import android.support.v4.widget.SimpleCursorAdapter;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;


public class BFragmentDrawer extends Fragment {

	MainActivity.MyOnTouchListener myOnTouchListener;
	private static final String TAG = "BFragmentDrawer";

	private Button content_provider_bt, content_provider_insertbt;
	private EditText content_provider_edt;

	ListView mWordList;

	String mSearchString;
	SimpleCursorAdapter mCursorAdapter;
	Cursor mCursor;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {

		View view = inflater.inflate(R.layout.fragment_b, container, false);

		content_provider_edt = (EditText) view
				.findViewById(R.id.content_provider_edt);
		content_provider_bt = (Button) view
				.findViewById(R.id.content_provider_bt);

		content_provider_bt.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				querySearch();
			}
		});

		content_provider_insertbt = (Butto
n) view .findViewById(R.id.content_provider_insertbt); content_provider_insertbt.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { insertSearch(); } }); mWordList = (ListView) view.findViewById(R.id.mWordList); return view; } public void insertSearch() { // Defines a new Uri object that receives the result of the insertion Uri mNewUri; // Defines an object to contain the new values to insert ContentValues mNewValues = new ContentValues(); /* * Sets the values of each column and inserts the word. The arguments to * the "put" method are "column name" and "value" */ mNewValues.put(UserDictionary.Words.APP_ID, "example.user2"); mNewValues.put(UserDictionary.Words.LOCALE, "en_US"); mNewValues.put(UserDictionary.Words.WORD, "insert2"); mNewValues.put(UserDictionary.Words.FREQUENCY, "100"); mNewUri = getActivity().getContentResolver().insert( UserDictionary.Words.CONTENT_URI, // the user dictionary content // URI mNewValues // the values to insert ); } public void querySearch() { // a "projection" 定义了要返回的行的columns String[] mProjection = { UserDictionary.Words._ID, UserDictionary.Words.WORD, UserDictionary.Words.LOCALE }; // 定义一个string 来包含 要选择的分句 String mSelectionClause = null; // 初始化一个array 来包含 要选择的参数 String[] mSelectionArgs = { "" }; // 从UI线程获得一个单词 mSearchString = content_provider_edt.getText().toString(); // 插入代码,检查 输入的有效性和安全性 /** * 如果是空,返回所有值 */ if (TextUtils.isEmpty(mSearchString)) { Log.e(TAG, "