`
407827531
  • 浏览: 1060196 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

常用代码合集二

阅读更多

=====================================================

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

1.使用剪切板可以直接实现数据的传输 ClipboardManager
view plaincopy to clipboardprint?
public void setClipboard(String text) {  
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);  
    clipboard.setText(text);  
}  
 
   
public String getClipboard() {  
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);  
    return clipboard.getText().toString();  

public void setClipboard(String text) {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(text);
}

public String getClipboard() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
return clipboard.getText().toString();
}
有关剪切板的数据类型可以通过 该类的boolean  hasText() 方法判断。
2.SharedPreferences
SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。 实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。
返回值   SharedPreferences

函数 Context.getSharedPreferences(String name,int mode)

备注

  name为本组件的配置文件名(如果想要与本应用程序的其他组件共享此配置文件,可以用这个名字来检索到这个配置文件)。

mode为操作模式,默认的模式为0或MODE_PRIVATE,还可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。


返回值 SharedPreferences
  函数 Activity.getPreferences(int mode)

备注

配置文件仅可以被调用的Activity使用。
mode为操作模式,默认的模式为0或MODE_PRIVATE,还可以使用MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。


如果要读取配置文件信息,只需要直接使用SharedPreferences对象的getXXX()方法即可,而如果要写入配置信息,则必须先调用SharedPreferences对象的edit()方法,使其处于可编辑状态,然后再调用putXXX()方法写入配置信息,最后调用commit()方法提交更改后的配置文件。
以下是示例代码:
view plaincopy to clipboardprint?
import android.app.Activity;   
import android.content.SharedPreferences;   
public class Calc extends Activity {   
    public static final String PREFS_NAME = "MyPrefsFile";   
    . . .   
    @Override   
    protected void onCreate(Bundle state){   
        super.onCreate(state);   
        . . .   
        //载入配置文件   
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
        //或者使用 SharedPreferences settings = getPreferences(0);   
        boolean silent = settings.getBoolean("silentMode", false);   
        setSilent(silent);   
    }   
    @Override   
    protected void onStop(){   
        super.onStop();   
        //写入配置文件。可以使用SharedPreferences.Editor来辅助解决。   
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
        SharedPreferences.Editor editor = settings.edit();   
        editor.putBoolean("silentMode", mSilentMode);   
        editor.commit(); //一定要记得提交   
        //或者再简单化一可以这样写   
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);   
        setting.edit().putBoolean(“silentMode”,mSilentMode).commit();   
    }   

import android.app.Activity;
import android.content.SharedPreferences;
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
. . .
@Override
protected void onCreate(Bundle state){
  super.onCreate(state);
  . . .
  //载入配置文件
  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  //或者使用 SharedPreferences settings = getPreferences(0);
  boolean silent = settings.getBoolean("silentMode", false);
  setSilent(silent);
}
@Override
protected void onStop(){
  super.onStop();
  //写入配置文件。可以使用SharedPreferences.Editor来辅助解决。
  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  SharedPreferences.Editor editor = settings.edit();
  editor.putBoolean("silentMode", mSilentMode);
  editor.commit(); //一定要记得提交
  //或者再简单化一可以这样写
  SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
  setting.edit().putBoolean(“silentMode”,mSilentMode).commit();
}
}

=====================================================================================
添加快捷图标

2.drawable-hdpi,drawable-ldpi,drawable-mdpi有什么区别?
答:主要是为了支持多分辨率的.
hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
mdpi 里面主要放中等分辨率的图片,如HVGA (320x480)
ldpi里面主要放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片
所以在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片
3.Android 判断SdCard是否存在?
答:if (android .os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
4.Android 删除文件为什么总是报错,删除不了?
答:Android自1.6版本以后,引入了一个权限,让用户可以修改外部存储设备文件,这个问题只要我们在Manifest.xml加一个permission节点就可以解决了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
5.Android 如何判断系统语言?

view plaincopy to clipboardprint?
01.private String getLocaleLanguage() {  
02.        Locale l = Locale.getDefault();  
03.        return String.format("%s-%s", l.getLanguage(), l.getCountry());  
04.    } 
private String getLocaleLanguage() {
  Locale l = Locale.getDefault();
  return String.format("%s-%s", l.getLanguage(), l.getCountry());

返回en-US(也可能是en-XX)表示英语,zh-CN表示简体中文,zh-TW表示繁体中文,以此类推。
6.Android 如何判断系统时间是12小时制还是24小时制?
view plaincopy to clipboardprint?
01.ContentResolver cv = this.getContentResolver();  
02.        String strTimeFormat = android.provider.Settings.System.getString(cv,  
03.                                           android.provider.Settings.System.TIME_12_24); 
ContentResolver cv = this.getContentResolver();
         String strTimeFormat = android.provider.Settings.System.getString(cv,
                                            android.provider.Settings.System.TIME_12_24);
返回值strTimeFormat有三种可能一种是NULL,一种是24,另外一种是12.

以上来自CSDN博客,转载请标明出处:http://blog.csdn.net/Android_Tutor/archive/2010/05/27/5629262.aspx

错误集:
1. UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added:Lorg/xmlpull/v1/XmlPullParser;
....
Conversion to Dalvik format failed with error 1

i solved the problem.
i seems that is have two jars on my buildpath that include the same package and classes.
i used smack.jar and android_maps_lib-1.0.2
delete this package from one jar solved the problem.

4. m访问网络(httppost httpget) 遇到本地pc设置有代理的问题时,依照一般的连接方式有错误
需在模拟器上添加:
System.getProperties().put("proxySet", "true"); 
System.getProperties().put("proxyHost", proxyIp); 
System.getProperties().put("proxyPort", proxyPort);
第一行通知 Java 您要通过代理进行连接,第二行指定代理所在的机器,第三行指定代理监听的端口


5.android 正确获取屏幕像素大小
DisplayMetrics dm =new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);
        int widthPixels= dm.widthPixels;
        int heightPixels= dm.heightPixels;
        float density = dm.density;
                int screenWidth = widthPixels * density ;
                int screenHeight = heightPixels * density ;

6. 本地assets目录下的html文件:web2.loadUrl("file:///android_asset/index.html") ;
InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );                              
InputStreamReader inputReader = new InputStreamReader(getResources().openRawResource(R.raw.test1));     


7. 检查网络是否可用:
public static boolean chkConnection() {
ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        cwjManager.getActiveNetworkInfo();
        if (cwjManager.getActiveNetworkInfo() !=null) {
            return cwjManager.getActiveNetworkInfo().isAvailable();
        }
    return false;
}

8.获取正在运行的任务,
首先需要声明一个活动对象管理器(ActivityManager) 所有的活动任务都属于此,然后通过获取服务可以得到所有的活动对象,然后通过活动对象可以得到所有运行的任务和服务,当然要获取服务和任务是使用不同的方法,但是方式是一样的。下面是获取代码:


代码 void getTask() {

ActivityManager activityManager;
try {
activityManager = (ActivityManager) this
.getSystemService(ACTIVITY_SERVICE);

arylistTask =new ArrayList<String>();



List<ActivityManager.RunningTaskInfo> mRunningTasks =

activityManager.getRunningTasks(30); //30表示获取的最大数

/* 以循环及baseActivity方式取得任务名称与ID */

for (RunningTaskInfo amTask : mRunningTasks)
{
Log.d("TaskInfo", amTask.baseActivity.getClassName()+"("+amTask.id+")");
}

//获取服务
List<RunningServiceInfo> mserviceTasks =

activityManager.getRunningServices(30);
/* 以循环方式取得任务名称与ID */
for (RunningServiceInfo serinfo : mserviceTasks)
{
Log.d("TaskServerInfo", serinfo.process+"("+serinfo.pid+")");
}
}

catch (Exception e)

{



}



9.Android 获取MIEI ISMI Sim卡串号等信息

TelephonyManager telephonemanage = (TelephonyManager) getWindow().getContext().getSystemService(Context.TELEPHONY_SERVICE);
try {           
    edit1.setText("MIEI: " + telephonemanage.getDeviceId()+ "\n SimSSN " + telephonemanage.getSimSerialNumber()+ "\n IMSI " + telephonemanage.getSubscriberId());       
} catch (Exception e) {           
    edit1.setText(e.getMessage());       
}




10.添加快捷图标

代码 privatevoid addShortcut(){
Intent shortcut =new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

//快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
// shortcut.putExtra("duplicate", false); //不允许重复创建

//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
// ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());

// shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(this,ShortcutTest.class));

//快捷方式的图标
ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

sendBroadcast(shortcut);
}


   shortcut.putExtra("duplicate", false); //表示的为不允许重复设置
此种代码,直接添加到桌面上,并且也在上图所示的地方显示,但是此需要添加下面的权限:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 

11. 防止锁屏:
PowerManager mPowerManager  = (PowerManager) getSystemService(POWER_SERVICE); //电源控制,比如防锁屏
  WakeLock mWakeLock= mPowerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass()
                .getName()); //处理屏幕防止锁屏

mWakeLock.acquire();  //恢复时解除锁屏
mWakeLock.release();

12. Drawable,Bitmap相互转换:


public static Bitmap drawableToBitmap(Drawable drawable) {  
          
        Bitmap bitmap = Bitmap  
                        .createBitmap(  
                                        drawable.getIntrinsicWidth(),  
                                        drawable.getIntrinsicHeight(),  
                                        drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
                                                        : Bitmap.Config.RGB_565);  
        Canvas canvas = new Canvas(bitmap);  
        //canvas.setBitmap(bitmap); 
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());  
        drawable.draw(canvas);  
        return bitmap;  



Resources res=getResources();  
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic); 


private byte[] Bitmap2Bytes(Bitmap bm){  
    ByteArrayOutputStream baos = new ByteArrayOutputStream();    
    bm.compress(Bitmap.CompressFormat.PNG, 100, baos);    
    return baos.toByteArray();  
   } 


private Bitmap Bytes2Bimap(byte[] b){  
            if(b.length!=0){  
                return BitmapFactory.decodeByteArray(b, 0, b.length);  
            }  
            else {  
                return null;  
            }  
      }

 

分享到:
评论

相关推荐

    网页制作常用代码

    网页制作常用代码包括 一:文字加粗 倾斜的代码 二:文字链接代码 三:在网站上放图片的代码 四:图片链接代码 五:换行代码 六:文字移动的代码 七:移动图片的代码 八:背景音乐的代码 九:在网站中插入一个...

    100种网页常用广告代码集

    100种网页常用广告代码集 绝对经典 1:对联广告代码演示下载 2:对联广告带关闭代码演示下载 3:大幅广告自动翻滚代码演示下载 4:大幅图片广告代码演示下载 5:横向滚动图片代码演示下载 6:幻灯图片代码演示下载 7...

    PHP常用经典代码大全

    $shownum =10/2; $startpage = ($page&gt;=$shownum)?$page-$shownum:0; $endpage = ($page+$shownum$pages)?$page+$shownum:$pages; echo "共".($pages+1)."页: "; if($page&gt;0)echo "$PHP_SELF?page=0$...

    Word vba常用语句合集

    word二次开发常用的语句合集,自己整理的,顺便希望的大家下载

    数学建模matlab常用算法代码整理集合.rar

    数学建模matlab常用算法代码整理的集合,包含神经网络图像分类代码,图论算法软件,小波神经网络预测代码,元胞自动机代码,Dijkstra算法找最短路径代码,Floyd算法求最小距离代码,GRNN的数据预测-基于广义回归神经...

    stata代码命令全集:跟检验do文件、stata常用命令、代码大合集、面板熵值法

    一、常用模型代码整理 1、数据来源: 2、时间跨度:无 3、区域范围:无 4、指标说明: 包含如下模型代码: l OLS模型 l Heckman两阶段模型 l PSM+DID模型 l 固定效应模型(xtreg命令的使用) l 中介效应模型...

    ArcGIS+Engine二次开发常用源代码

    ArcGIS+Engine二次开发常用源代码,适用于新手学习!

    数学建模常用的30个常用算法(Python代码).zip

    数学建模常用的30个常用算法(Python代码)数学建模常用的30个常用算法(Python代码)数学建模常用的30个常用算法(Python代码)数学建模常用的30个常用算法(Python代码)数学建模常用的30个常用算法(Python代码)数学建模...

    C# 常用类代码(封装)

    7.js.cs 常用js代码 8.文件操作类 9.数据检查类 10.util.cs常用字符串操作 11.CacheManager.cs 操作缓存的类 12.CookieManager.cs Cookie管理类 13.DataToExcel.cs 导出excel 14.EnumConvert 枚举转换为详细说明的类...

    Asp.net常用代码

    Asp.net常用代码(一) Asp.net常用代码(二) Asp.net常用代码(三) Asp.net常用代码(四) Asp.net常用代码(五) Asp.net常用代码(六)

    java常用开发代码2面试

    java常用开发代码2面试,java常用开发代java常用开发代码2面试码2面试,

    C#常用实例源码代码收藏

    获取页面源代码 加密解密 宽带连接 类型转换 屏幕截图 奇虎发布信息 声音识别 鼠标操作 数据库 随机100种声音 图片匹配坐标 图像二值化 网络 文件信息 硬件信息 正则分割字符串 支持文件拖拽 注册表操作 字符操作 ...

    代码合集.rar

    2012-06-11 14:34 173,925,575 代码合集.rar 2012-06-11 12:54 3,755,221 图像处理基础及其实现.rar 2012-06-11 12:56 46,896,300 开源搜索引擎(SourceCode).rar 2012-06-11 12:50 1,627,503 数据采集器.rar 2012-06...

    ArcEngine二次开发常用代码

    ArcEngine二次开发常用代码 非常实用

    c#常用代码(每日更新)

    欢迎使用该软件 目的: 1.提高代码效率 2.格式化,方便阅读 3.偷懒专用

    编写java代码常用的工具代码

    总结了编写java代码常用的算法代码,如ucs2,ascii,进制转换,以及APN相关的管理代码

    C#常用工具类代码集合Util第二版本(自己工作总结)

    C#常用工具类代码集合Util第二版本(自己工作总结),包括常用工具类,扩展方法工具类,百度地图C#工具类,Echart工具类,Office工具类,Autofac工具类,Web开发常用工具类,Winform开发常用工具类,是自己工作十年...

    asp.net常用代码收集2

    asp.net常用代码收集2 第一个收集在我的其他资源那里哈,想要的话自己找找哈,叫net常用代码精华来着,两个是不同的东东~

    C%2B%2B C++ 常用例程源代码

    本资源包括67个C++教学中常用的例程的源代码,非常适合初学者参考学习。

    vb常用算法大全(代码)

    2、验证子过程 该子目录下按章存放验证上述常用算法子过程的全部验证子过程。 3、工程 该子目录下包含所有为验证上述子过程而做的工程 实际上,读者最方便的是配合书中的说明,在VB系统下直接调用以V开头...

Global site tag (gtag.js) - Google Analytics