Android开发tip

1.关闭键盘

//关闭键盘
InputMethodManager imm = (InputMethodManager) getSystemService(ActivityBusLine.INPUT_METHOD_SERVICE);       imm.hideSoftInputFromWindow(XXXview.getWindowToken(), 0);

2.TextView..EditText显示一个tip

在使用EditText时可以使用setError来显示一个tip来提示用户
setError中传入的参数是CharSequence类型,可以使用Android提供的Html

setError(Html.fromHtml("<font color=#E10979>生日格式不正确<br/>正确格式如1990-01-01</font>"));  

3.创建菜单OptionsMenu与上下文菜
每个Activity有且只有一个Options Menu,它为整个Activity服务。而一个Activity往往有多个View,并不是每个View都有上下文菜单,这就需要我们显示地通过registerForContextMenu(View view)来指定

菜单OptionsMenu:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        menu.add(0, 0, 0, "菜单1").setIcon(R.drawable.picture);
        menu.add(0, 1, 1, "菜单2").setIcon(R.drawable.picture);
        menu.add(0, 2, 2, "菜单3").setIcon(R.drawable.picture);
        menu.add(0, 3, 3, "菜单4").setIcon(R.drawable.picture);
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch(item.getItemId())
        {
            case 0:
            {
                break;
            }
            case 1:
            {
                break;
            }
            case 2:
            {
                break;
            }
            case 3:
            {           
                break;
            }
        }
        return true;
    }

上下文菜单

1.在activity的onCreate(...)方法中为一个view注册上下文菜单

2.在onCreateContextMenuInfo(...)中生成上下文菜单。

3.在onContextItemSelected(...)中响应上下文菜单项。

    @Override
    public boolean onContextItemSelected(MenuItem item) {
// getMenuInflater().inflate(R.menu.main, menu);
    switch(item.getItemId()){
            case 0:
            {
                //复制到剪切板
                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
                String result =some data ;
                boardManager cbm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
                cbm.setText(result);
                Toast.makeText(ActivityBusLine.this, "内容已复制到剪切板", Toast.LENGTH_SHORT).show();
                break;
            }
            case 1:
            {
                //发送短信     
                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
                String result =some data ;
                Intent it = new Intent(Intent.ACTION_VIEW);       
                it.putExtra("sms_body", result);        
                it.setType("vnd.android-dir/mms-sms");       
                startActivity(it);
                break;
            }
        }
        return super.onContextItemSelected(item);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        menu.add(0, 0, 0, "复制到剪切板");
        menu.add(0, 1, 1, "短信发送");
        super.onCreateContextMenu(menu, v, menuInfo);
    }

4.私有io操作:Context对象操作io

openFileInput(String filename) 
打开应用程序私有目录下的的指定私有文件以读入数据,返回一个FileInputStream 对象
openFileOutput  
打开应用程序私有目录下的的指定私有文件以写入数据,返回一个FileOutputStream 对象,

如果文件不存在就创建这个文件。

fileList() 
搜索应用程序私有文件夹下的私有文件,返回所有文件名的String数组
deleteFile(String fileName) 删除指定文件名的文件,成功返回true,失败返回false

在使用openFileOutput方法打开文件以写入数据时,需要指定打开模式。默认为零,即MODE_PRIVATE。不同的模式对应的的含义如下:
openFileOutput方法打开文件时的模式

MODE_PRIVATE 
默认模式,文件只可以被调用该方法的应用程序访问
MODE_APPEND  
如果文件已存在就向该文件的末尾继续写入数据,而不是覆盖原来的数据。
MODE_WORLD_READABLE 
赋予所有的应用程序对该文件读的权限。
MODE_WORLD_WRITEABLE  
赋予所有的应用程序对该文件写的权限。

5.常用键值对
HashMap,ContentValues,org.apache.http.message.BasicNameValuePair等
Properties extends Hashtable

Properties properties = new Properties();
在类同级目录里
//InputStream localInputStream =XX.class
//          .getResourceAsStream("your.properties");
在app私有存储位置
//FileInputStream stream = context.openFileInput("your.properties");

try {
        properties.load(localInputStream);
            return;
        } catch (IOException localIOException) {
            localIOException.printStackTrace();
        }

properties.getProperty("paramString")//获取

properties.put("paramString", someString or object);//存储

FileOutputStream stream = context.openFileOutput(
                    "your.properties", Context.MODE_WORLD_WRITEABLE);
            properties.store(stream, "");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值