在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → Android 记事本实例源码下载,含增删改以及欢迎界面实例源码

Android 记事本实例源码下载,含增删改以及欢迎界面实例源码

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:1.90M
  • 下载次数:70
  • 浏览次数:1078
  • 发布时间:2016-01-21
  • 实例类别:Android平台开发
  • 发 布 人:caipengwei
  • 文件格式:.rar
  • 所需积分:3
 相关标签: 学习

实例介绍

【实例简介】

本应用由四个界面构成,即欢迎界面、主界面、新建界面和查看界面。

其中共包含以下功能模块:欢迎、新建、查看、修改、删除、刷新、模式、排序、搜索和菜单等。

【实例截图】



【核心代码】
package com.swimmi.windnote;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnKeyListener;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnTouchListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends Activity {

private Dialog menuDialog;	//菜单对话框
private Dialog delDialog;	//删除对话框
private GridView menuGrid;	//菜单选项
private View menuView;	//菜单选项视图

private ImageButton addBtn;	//添加
private ImageButton menuBtn;	//弹出菜单
private ImageButton searchBtn;	//搜索
private ImageButton modeBtn;	//显示模式
private ImageButton sortBtn;	//排序

private ListView notesLis;	//记事列表
private GridView notesGrd;	//记事网格
private TextView titleTxt;	//标题
private LinearLayout main;	//布局
private EditText keyTxt;	//密码框
private EditText againTxt;	//密码确认框
private EditText newTxt;	//新密码框
private EditText searchTxt;	//搜索框
private TextView refreshTxt;	//刷新标签

private Integer s_id;	//记事ID
private boolean sort_desc;	//排序标识
private boolean mode_list;	//模式标识
private long exitTime;	//退出时间
private int color;	//当前皮肤颜色
private String q_content;	//引言内容
private String q_author;	//引言作者
private String q_type;	//引言类型
private HashMap<Integer,Integer> idMap;	//IDMap

final int ACTION_SKIN=0;	//菜单选项
final int ACTION_KEY=1;
final int ACTION_SAY=2;
final int ACTION_HELP=3;
final int ACTION_ABOUT=4;
final int ACTION_EXIT=5;
private float mx;	//屏幕触点坐标
private float my;

private ColorPickerDialog cpDialog;	//颜色选择对话框
private SharedPreferences sp;	//数据存储
private Dialog keyDialog;	//密码对话框
private SQLiteDatabase wn;	//数据库连接
@SuppressLint("UseSparseArrays")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

wn=Database(R.raw.windnote);
sp = getSharedPreferences("setting", 0);
idMap=new HashMap<Integer, Integer>();	//获取记事ID列表
        color=sp.getInt("color", getResources().getColor(R.color.blue));
main=(LinearLayout)findViewById(R.id.main);
main.setBackgroundColor(color);

titleTxt=(TextView)findViewById(R.id.title_main);
addBtn=(ImageButton)findViewById(R.id.add_btn);
menuBtn=(ImageButton)findViewById(R.id.menu_btn);
searchBtn=(ImageButton)findViewById(R.id.search_btn);
modeBtn=(ImageButton)findViewById(R.id.mode_btn);
sortBtn=(ImageButton)findViewById(R.id.sort_btn);
notesLis=(ListView)findViewById(R.id.notes_lis);
notesLis.setVerticalScrollBarEnabled(true);
notesGrd=(GridView)findViewById(R.id.notes_grd);
notesGrd.setVerticalScrollBarEnabled(true);
@SuppressWarnings("deprecation")
int width=getWindowManager().getDefaultDisplay().getWidth();	//获取屏幕宽度
notesGrd.setNumColumns(width/120);	//设置网格布局列数

q_content=sp.getString("q_content", "");
q_author=sp.getString("q_author", "");
q_type=sp.getString("q_type", "");

ImageButton[] btns={addBtn,menuBtn,searchBtn,modeBtn,sortBtn};
for(ImageButton btn:btns)
btn.setOnClickListener(click);

sort_desc=sp.getBoolean("sort", true);	//获取排序方式
mode_list=sp.getBoolean("mode", true);	//获取显示模式

menuDialog = new Dialog(this,R.style.dialog);	//自定义菜单
menuView = View.inflate(this, R.layout.gridmenu, null);
menuDialog.setContentView(menuView);
menuDialog.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU)
dialog.dismiss();
return false;
}
});
menuGrid=(GridView)menuView.findViewById(R.id.grid);
menuGrid.setAdapter(getMenuAdapter());	//设置菜单项
menuGrid.setOnItemClickListener(itemClick);
searchTxt=(EditText)findViewById(R.id.search_txt);
searchTxt.setBackgroundColor(color);
searchTxt.addTextChangedListener(search);
searchTxt.setText(sp.getString("word", ""));
titleTxt.setOnClickListener(click);
refreshTxt=(TextView)findViewById(R.id.refresh_txt);

Long lastdate=sp.getLong("lastdate", new Date().getTime());	//更新记事保存时间
long passday=(int)(new Date().getTime()-lastdate)/(3600000*24);
wn.execSQL("update notes set n_time=n_time-" passday " where n_time>0");
sp.edit().putLong("lastdate",new Date().getTime()).commit();
showItem(sort_desc,mode_list);
}
public OnTouchListener touch = new OnTouchListener(){	//触摸事件(记事显示区内触摸)
@Override
public boolean onTouch(View view, MotionEvent e) {
float x = e.getX();
float y = e.getY();
switch(e.getAction()){
case MotionEvent.ACTION_DOWN:
mx=x;
my=y;
break;
case MotionEvent.ACTION_UP:
float dx = x-mx;
float dy = y-my;
if(dy>30&&dx<30){	//下拉刷新
refreshTxt.setVisibility(View.VISIBLE);
showItem(sort_desc,mode_list);
Handler refreshHand = new Handler();
Runnable refreshShow=new Runnable() 
   {
       @Override
       public void run()
       {  
       	refreshTxt.setVisibility(View.GONE);
       }
   };
refreshHand.postDelayed(refreshShow, 500);
}
}
return false;
}
};
@Override
public boolean onTouchEvent(MotionEvent e){	//触摸事件(记事显示区外触摸)
float x = e.getX();
float y = e.getY();
switch(e.getAction()){
case MotionEvent.ACTION_DOWN:
mx=x;
my=y;
break;
case MotionEvent.ACTION_UP:
float dx = x-mx;
float dy = y-my;
if(dy>30&&dx<30){
refreshTxt.setVisibility(View.VISIBLE);
showItem(sort_desc,mode_list);
Handler refreshHand = new Handler();
Runnable refreshShow=new Runnable()
   {
       @Override
       public void run()
       {  
       	refreshTxt.setVisibility(View.GONE);
       }
   };
refreshHand.postDelayed(refreshShow, 500);
}
}
return true;
}

//密码操作
public TextWatcher change = new TextWatcher() {	//密码设置事件
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String key=keyTxt.getText().toString();
String again=againTxt.getText().toString();
if(key.length()>=6&&key.equals(again))
{
sp.edit().putString("key", key).commit();
Toast.makeText(Main.this, getResources().getString(R.string.key_success) key,Toast.LENGTH_LONG).show();
keyDialog.dismiss();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
public TextWatcher change2 = new TextWatcher() {	//密码修改事件
@Override 
public void onTextChanged(CharSequence s, int start, int before, int count) {
String old=keyTxt.getText().toString();
String key=newTxt.getText().toString();
String keyAgain=againTxt.getText().toString();
String rkey=sp.getString("key", "");
if(old.equals(rkey)&&key.length()>=6&&key.equals(keyAgain))
{
sp.edit().putString("key", key).commit();
Toast.makeText(Main.this, getResources().getString(R.string.key_success) key,Toast.LENGTH_LONG).show();
keyDialog.dismiss();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
public TextWatcher change3 = new TextWatcher() {	//取消密码事件
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String old=keyTxt.getText().toString();
String rkey=sp.getString("key", "");
if(old.equals(rkey))
{
sp.edit().remove("key").commit();
Toast.makeText(Main.this, R.string.key_canceled,Toast.LENGTH_SHORT).show();
keyDialog.dismiss();
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
private void setKey(){	//设置密码
keyDialog=new Dialog(this,R.style.dialog);
View keyView = View.inflate(this, R.layout.setkey, null);
keyDialog.setContentView(keyView);
keyTxt=(EditText)keyView.findViewById(R.id.key_txt);
againTxt=(EditText)keyView.findViewById(R.id.again_txt);
keyTxt.addTextChangedListener(change);
againTxt.addTextChangedListener(change);
keyDialog.show();
}
private void editKey(){	//修改密码
View keyView = View.inflate(this, R.layout.editkey, null);
final Dialog dialog=new Dialog(this,R.style.dialog);
dialog.setContentView(keyView);
Button resetBtn=(Button)keyView.findViewById(R.id.reset_key);
Button cancelBtn=(Button)keyView.findViewById(R.id.cancel_key);
resetBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
resetKey();
dialog.dismiss();
}
});
cancelBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
cancelKey();
dialog.dismiss();
}
});
dialog.show();
}
private void resetKey(){	//重置密码
keyDialog=new Dialog(this,R.style.dialog);
View keyView = View.inflate(this, R.layout.resetkey, null);
keyDialog.setContentView(keyView);
keyTxt=(EditText)keyView.findViewById(R.id.key_old);
newTxt=(EditText)keyView.findViewById(R.id.key_new);
againTxt=(EditText)keyView.findViewById(R.id.key_new_again);
keyTxt.addTextChangedListener(change2);
keyTxt.setOnFocusChangeListener(focusChange);
newTxt.addTextChangedListener(change2); 
againTxt.addTextChangedListener(change2);
keyDialog.show();
}
private void cancelKey()	//取消密码
{
keyDialog=new Dialog(this,R.style.dialog);
View keyView = View.inflate(this, R.layout.cancelkey, null);
keyDialog.setContentView(keyView);
keyTxt=(EditText)keyView.findViewById(R.id.key_old);
keyTxt.addTextChangedListener(change3);
keyDialog.show();
} 
private void showItem(Boolean desc,Boolean list){	//显示记事
String word=searchTxt.getText().toString().trim();
SimpleAdapter adapter = new SimpleAdapter(Main.this,getData(desc,word),list?R.layout.listitem:R.layout.griditem,
new String[]{"id","title","content","time","count","lock","postdate"},
new int[]{R.id.id,R.id.title,R.id.content,R.id.time,R.id.count,R.id.lock,R.id.postdate});
sortBtn.setImageResource(desc?R.drawable.asc:R.drawable.desc);
modeBtn.setImageResource(list?R.drawable.grid:R.drawable.list);
if(list)
{ 
notesLis.setVisibility(View.VISIBLE);
notesGrd.setVisibility(View.GONE);
notesLis.setAdapter(adapter);	//生成记事列表
notesLis.setOnItemClickListener(new OnItemClickListener(){	//点击记事事件
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
ListView listView =(ListView)parent; 
@SuppressWarnings("unchecked")
HashMap<String, Object> map = (HashMap<String, Object>) listView.getItemAtPosition(position);  
wn.execSQL("update notes set n_count=n_count-1 where n_count>0 and id=" idMap.get(position));	//更新可浏览次数
Intent intent=new Intent(Main.this,Note.class);
intent.putExtra("data", map);
startActivity(intent);
finish();
}
});
notesLis.setOnTouchListener(touch);
notesLis.setOnItemLongClickListener(longClick);	//记事长按事件
titleTxt.setText(getResources().getString(R.string.app_name) "\t[" notesLis.getCount() "]");
}
else{
notesGrd.setVisibility(View.VISIBLE);
notesLis.setVisibility(View.GONE);
notesGrd.setAdapter(adapter);	//生成记事网格
notesGrd.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
GridView gridView =(GridView)parent; 
@SuppressWarnings("unchecked")
HashMap<String, Object> map = (HashMap<String, Object>) gridView.getItemAtPosition(position);  
wn.execSQL("update notes set n_count=n_count-1 where n_count>0 and id=" idMap.get(position));
Intent intent=new Intent(Main.this,Note.class);
intent.putExtra("data", map);
startActivity(intent);
finish();
}
});
notesGrd.setOnTouchListener(touch);
notesGrd.setOnItemLongClickListener(longClick);	//记事长按事件
titleTxt.setText(getResources().getString(R.string.app_name) "\t[" notesGrd.getCount() "]");
}
}
public OnFocusChangeListener focusChange=new OnFocusChangeListener(){	//焦点改变事件
@Override
public void onFocusChange(View v, boolean hasFocus) {
EditText txt=(EditText)v;
String rkey=sp.getString("key", "");
if(!v.hasFocus()&&!txt.getText().toString().equals(rkey)&&!txt.getText().toString().equals(""))
Toast.makeText(Main.this, R.string.wrong_key, Toast.LENGTH_SHORT).show();	//提示原密码错误
}
};
private void chooseColor(){	//选择皮肤
Dialog dialog=new Dialog(this,R.style.dialog);
View colorView = View.inflate(this, R.layout.gridmenu, null);
dialog.setContentView(colorView);
GridView colorGrid=(GridView)colorView.findViewById(R.id.grid);
colorGrid.setNumColumns(2);
colorGrid.setAdapter(getColorAdapter());	//设置皮肤选项
colorGrid.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) 
{
if(getResources().getColor(My.colors[position])!=color)
{
if(position<My.colors.length-1)	//选择了当前皮肤
{ 
sp.edit().putInt("color", getResources().getColor(My.colors[position])).commit();
Intent intent=new Intent(Main.this,Welcome.class);
intent.putExtra("needKey", false);
startActivity(intent);
finish();
}
else if(position==My.colors.length-1)	//选择了新的皮肤
{
cpDialog = new ColorPickerDialog(Main.this, color,   
                       getResources().getString(R.string.word_confirm),   
                       new ColorPickerDialog.OnColorChangedListener() { 
                   @Override  
                   public void colorChanged(int c) 
                   {  
sp.edit().putInt("color", c).commit();
Intent intent=new Intent(Main.this,Welcome.class);
intent.putExtra("needKey", false);
startActivity(intent);
finish();
                   }
               });
cpDialog.getWindow().setBackgroundDrawableResource(R.drawable.list_focused);
               cpDialog.show();  
}
}
else
{
Toast.makeText(Main.this, R.string.now_skin, Toast.LENGTH_SHORT).show();
}
}
});
dialog.show();
}
private SimpleAdapter getColorAdapter()	//获取皮肤列表
{
SimpleAdapter adapter = new SimpleAdapter(this,getColor(),R.layout.menuitem,
new String[]{"txt"},
new int[]{R.id.item_txt});
return adapter;
}
private SimpleAdapter getMenuAdapter()	//获取菜单列表
{
SimpleAdapter adapter = new SimpleAdapter(this,getMenu(),R.layout.menuitem,
new String[]{"img","txt"},
new int[]{R.id.item_img,R.id.item_txt});
return adapter;
}
private List<Map<String, Object>> getColor() {	//获取颜色列表
String[] txts=My.cs;
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for(int i=0;i<txts.length;i )
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("txt", txts[i]);
list.add(map);
}
return list;
}
private List<Map<String, Object>> getMenu() {	//获取菜单
int[] imgs={R.drawable.skin,R.drawable.key,R.drawable.say,R.drawable.help,R.drawable.about,R.drawable.exit};
int[] txts={R.string.action_skin,R.string.action_key,R.string.action_say,R.string.action_help,R.string.action_about,R.string.action_exit};
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for(int i=0;i<imgs.length;i )
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("img", imgs[i]);
map.put("txt", getResources().getString(txts[i]));
list.add(map);
}
return list;
}
private List<Map<String, Object>> getData(Boolean desc, String word) {	//获取记事数据
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Cursor cursor=wn.rawQuery("select id,n_title,n_content,n_time,n_count,n_lock,julianday(date('now','localtime'))-julianday(date(n_postdate)) as n_postday from notes where n_time!=0 and n_count!=0 order by n_postdate " (desc!=true?"":"desc"), null);
if(word.length()>0)
cursor=wn.rawQuery("select id,n_title,n_content,n_time,n_count,n_lock,julianday(date('now','localtime'))-julianday(date(n_postdate)) as n_postday from notes where n_time!=0 and n_count!=0 and (n_title||'`'||n_content||'`'||n_postdate||'`'||n_postday) like '%" word "%' order by n_postdate " (desc!=true?"":"desc"), null);
if(word.equals("#all"))
cursor=wn.rawQuery("select id,n_title,n_content,n_time,n_count,n_lock,julianday(date('now','localtime'))-julianday(date(n_postdate)) as n_postday from notes order by n_postdate " (desc!=true?"":"desc"), null);
sp.edit().putString("word", word).commit();
int pos=0;
while(cursor.moveToNext())
{
int n_id=cursor.getInt(cursor.getColumnIndex("id"));
idMap.put(pos, n_id);
pos =1;
String n_title=cursor.getString(cursor.getColumnIndex("n_title"));
String n_content=cursor.getString(cursor.getColumnIndex("n_content"));
Integer n_time=cursor.getInt(cursor.getColumnIndex("n_time"));
Integer n_count=cursor.getInt(cursor.getColumnIndex("n_count"));
Boolean n_lock=cursor.getInt(cursor.getColumnIndex("n_lock"))>0;
Integer n_postdate=cursor.getInt(cursor.getColumnIndex("n_postday"));

HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id", n_id);
map.put("title", n_title);
map.put("content", n_content);
map.put("time", n_time);
map.put("count", n_count);
map.put("lock", n_lock);
map.put("postdate", n_postdate==0?getResources().getString(R.string.word_today):n_postdate getResources().getString(R.string.word_ago));
list.add(map);
}
cursor.close();
return list;
}
public SQLiteDatabase Database(int raw_id) {	//数据库连接
        try {
        int BUFFER_SIZE = 100000;
        String DB_NAME = "windnote.db"; 
        String PACKAGE_NAME = "com.swimmi.windnote";
        String DB_PATH = "/data"
                Environment.getDataDirectory().getAbsolutePath() "/"
                PACKAGE_NAME "/databases/";
        File destDir = new File(DB_PATH);
         if (!destDir.exists()) {
          destDir.mkdirs();
         }
        String file=DB_PATH DB_NAME;
        if (!(new File(file).exists())) {
                InputStream is = this.getResources().openRawResource(
                        raw_id);
                FileOutputStream fos = new FileOutputStream(file);
                byte[] buffer = new byte[BUFFER_SIZE];
                int count = 0;
                while ((count = is.read(buffer)) > 0) {
                    fos.write(buffer, 0, count);
                }
                fos.close();
                is.close();
            }
            SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(file,null);
            return db;
        } catch (FileNotFoundException e) {
            Log.e("Database", "File not found");
            e.printStackTrace();
        } catch (IOException e) {
            Log.e("Database", "IO exception");
            e.printStackTrace();
        }
        return null;
    }
@Override
public boolean onKeyDown(int keyCode,KeyEvent event)
{
if(keyCode==KeyEvent.KEYCODE_BACK){
if((System.currentTimeMillis()-exitTime)>2000){
Toast.makeText(Main.this, R.string.exit_hint, Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis(); 
return true;
}
else 
{
           finish();
           System.exit(0);
       }
}
return false;
}
private OnItemClickListener itemClick=new OnItemClickListener(){	//菜单点击事件
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch(position){
case ACTION_SKIN:
chooseColor();
break;
case ACTION_KEY:
if(!sp.contains("key"))
setKey();
else
editKey();
break;
case ACTION_SAY:
say();
break;
case ACTION_HELP:
help();
break;
case ACTION_ABOUT:
about();
break;
case ACTION_EXIT:
finish();
System.exit(0);
break;
}
}
};
private void help(){	//帮助
wn.execSQL("update notes set n_count=1,n_postdate=datetime('now','localtime') where id=1");
showItem(sort_desc,mode_list);	//显示使用说明
menuDialog.dismiss();
}
private void about(){	//关于
Dialog aboutDialog=new Dialog(this,R.style.dialog);
View aboutView = View.inflate(this, R.layout.aboutme, null);
aboutDialog.setContentView(aboutView);
aboutDialog.show();
}
@SuppressLint("SimpleDateFormat")
private void say(){	//感悟
Intent intent= new Intent(Main.this,Add.class);
Bundle data = new Bundle();
data.putString("title",getResources().getString(R.string.word_my) q_type getResources().getString(R.string.action_say) "\t\t" new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
data.putString("content","        " q_author getResources().getString(R.string.word_said) q_content "\r\n");
intent.putExtras(data);
startActivity(intent);
finish();
}
private void delete(){	//删除记事
View deleteView = View.inflate(this, R.layout.deletenote, null);
delDialog=new Dialog(this,R.style.dialog);
delDialog.setContentView(deleteView);
Button yesBtn=(Button)deleteView.findViewById(R.id.delete_yes);
Button noBtn=(Button)deleteView.findViewById(R.id.delete_no);
TextView goneTimeTxt=(TextView)deleteView.findViewById(R.id.gone_time);
TextView goneCountTxt=(TextView)deleteView.findViewById(R.id.gone_count);
Cursor cursor=wn.rawQuery("select n_time,n_count from notes where id=" s_id,null);
while(cursor.moveToNext()){
int time=cursor.getInt(cursor.getColumnIndex("n_time"));
int count=cursor.getInt(cursor.getColumnIndex("n_count"));
String time_txt=time>0?String.valueOf(time):"n";
String count_txt=count>0?String.valueOf(count):"n";
goneTimeTxt.setText(R.string.left_txt);
goneCountTxt.setText(time_txt getResources().getString(R.string.word_time) count_txt getResources().getString(R.string.word_count));
}
yesBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
wn.execSQL("delete from notes where id=" s_id);
delDialog.dismiss();
showItem(sort_desc,mode_list);
}
});
noBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view) {
delDialog.dismiss();
}
});
delDialog.show();
}
private OnItemLongClickListener longClick= new OnItemLongClickListener()	//长按删除
{
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
s_id=idMap.get(position);
delete();
return false;
}
};
private OnClickListener click=new OnClickListener(){	//点击事件监听

@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.add_btn:	//新建记事
Intent intent= new Intent(Main.this,Add.class);
if(getIntent().hasExtra("title"))
intent.putExtras(getIntent().getExtras());
startActivity(intent);
finish();
break;
case R.id.menu_btn:	//菜单
if (menuDialog == null) 
{
menuDialog = new Dialog(Main.this,R.style.dialog);
menuDialog.show();
}
else
{
menuDialog.show();
}
break;
case R.id.search_btn:	//搜索
showHide(searchTxt);
Add.focus(searchTxt,true);
break;
case R.id.mode_btn:	//模式
mode_list=!mode_list;
sp.edit().putBoolean("mode", mode_list).commit();
showItem(sort_desc,mode_list);
break;
case R.id.sort_btn:	//排序
sort_desc=!sort_desc;
sp.edit().putBoolean("sort", sort_desc).commit();
showItem(sort_desc,mode_list);
break;
case R.id.title_main:	//点击标题栏
searchTxt.setText("");
sp.edit().remove("word").commit();
showItem(sort_desc, mode_list);
}
}
};
private TextWatcher search=new TextWatcher(){	//搜索事件
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
showItem(sort_desc, mode_list);
}
};
private void showHide(View view){	//显隐元素
if(view.getVisibility()==View.VISIBLE)
view.setVisibility(View.INVISIBLE);
else
view.setVisibility(View.VISIBLE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("menu");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onMenuOpened(int featureId, Menu menu) {	//设置菜单
menu.removeItem(0);
if (menuDialog == null) 
{
menuDialog = new Dialog(Main.this,R.style.dialog);
menuDialog.show();
}
else 
{
menuDialog.show();
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem mi){
return super.onOptionsItemSelected(mi);
}
}


标签: 学习

实例下载地址

Android 记事本实例源码下载,含增删改以及欢迎界面实例源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警