Android开发常用经典代码段集锦

本文实例总结了Android开发常用经典代码段。分享给大家供大家参考,具体如下:

1、图片旋转

Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon);
Matrix matrix = new Matrix();
matrix.postRotate(-90);//旋转的角度
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
          bitmapOrg.getWidth(), bitmapOrg.getHeight(), matrix, true);
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

2、获取手机号码

//创建电话管理
TelephonyManager tm = (TelephonyManager)
//与手机建立连接
activity.getSystemService(Context.TELEPHONY_SERVICE);
//获取手机号码
String phoneId = tm.getLine1Number();
//记得在manifest file中添加
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
//程序在模拟器上无法实现,必须连接手机

3.格式化string.xml 中的字符串

// in strings.xml..
<string name="my_text">Thanks for visiting %s. You age is %d!</string>
// and in the java code:
String.format(getString(R.string.my_text), "oschina", 33);

4、android设置全屏的方法

A.在java代码中设置

/** 全屏设置,隐藏窗口所有装饰 */
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

B、在AndroidManifest.xml中配置

<activity android:name=".Login.NetEdit" android:label="@string/label_net_Edit"
      android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
 <intent-filter>
 <action android:name="android.intent.Net_Edit" />
 <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>
</activity>

5、设置Activity为Dialog的形式

在AndroidManifest.xml中配置Activity节点是配置theme如下:

android:theme="@android:style/Theme.Dialog"

6、检查当前网络是否连上

ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE);
boolean wifi=con.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
boolean internet=con.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

在AndroidManifest.xml 增加权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

7、检测某个Intent是否有效

public static boolean isIntentAvailable(Context context, String action) {
  final PackageManager packageManager = context.getPackageManager();
  final Intent intent = new Intent(action);
  List<ResolveInfo> list =
      packageManager.queryIntentActivities(intent,
          PackageManager.MATCH_DEFAULT_ONLY);
  return list.size() > 0;
}

8、android 拨打电话

try {
  Intent intent = new Intent(Intent.ACTION_CALL);
  intent.setData(Uri.parse("tel:+110"));
  startActivity(intent);
} catch (Exception e) {
  Log.e("SampleApp", "Failed to invoke call", e);
}

9、android中发送Email

Intent i = new Intent(Intent.ACTION_SEND);
//i.setType("text/plain"); //模拟器请使用这行
i.setType("message/rfc822") ; // 真机上使用这行
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@gmail.com","test@163.com});
i.putExtra(Intent.EXTRA_SUBJECT,"subject goes here");
i.putExtra(Intent.EXTRA_TEXT,"body goes here");
startActivity(Intent.createChooser(i, "Select email application."));

10、android中打开浏览器

Intent viewIntent = new
  Intent("android.intent.action.VIEW",Uri.parse("http://vaiyanzi.cnblogs.com"));
startActivity(viewIntent);

11、android 获取设备唯一标识码

String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);

12、android中获取IP地址

public String getLocalIpAddress() {
  try {
    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
 en.hasMoreElements();) {
      NetworkInterface intf = en.nextElement();
      for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
 enumIpAddr.hasMoreElements();) {
        InetAddress inetAddress = enumIpAddr.nextElement();
        if (!inetAddress.isLoopbackAddress()) {
          return inetAddress.getHostAddress().toString();
        }
      }
    }
  } catch (SocketException ex) {
    Log.e(LOG_TAG, ex.toString());
  }
  return null;
}

13、android获取存储卡路径以及使用情况

/** 获取存储卡路径 */
File sdcardDir=Environment.getExternalStorageDirectory();
/** StatFs 看文件系统空间使用情况 */
StatFs statFs=new StatFs(sdcardDir.getPath());
/** Block 的 size*/
Long blockSize=statFs.getBlockSize();
/** 总 Block 数量 */
Long totalBlocks=statFs.getBlockCount();
/** 已使用的 Block 数量 */
Long availableBlocks=statFs.getAvailableBlocks();

14 android中添加新的联系人

private Uri insertContact(Context context, String name, String phone) {
    ContentValues values = new ContentValues();
    values.put(People.NAME, name);
    Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
    Uri numberUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);
    values.clear();
    values.put(Contacts.Phones.TYPE, People.Phones.TYPE_MOBILE);
    values.put(People.NUMBER, phone);
    getContentResolver().insert(numberUri, values);
    return uri;
}

15、查看电池使用情况

Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
startActivity(intentBatteryUsage);

16、获取进程号

ActivityManager mActivityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> mRunningProcess = mActivityManager.getRunningAppProcesses();
int i = 1;
for (ActivityManager.RunningAppProcessInfo amProcess : mRunningProcess) {
 Log.e("homer Application", (i++) + " PID = " + amProcess.pid + "; processName = " + amProcess.processName);
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android控件用法总结》、《Android短信与电话操作技巧汇总》及《Android多媒体操作技巧汇总(音频,视频,录音等)》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • 分享几个Android开发有用的程序代码

    [webview加载本地html.本apk内html和远程URL] 复制代码 代码如下: // 打开本包内asset目录下的index.html文件 wView.loadUrl("file:///android_asset/index.html "); // 打开本地sd卡内的index.html文件 wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html"); // 打开指定U

  • Android应用开发中模拟按下HOME键的效果(实现代码)

    下面提供代码示例,请参考. 复制代码 代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) {      if (keyCode == KeyEvent.KEYCODE_BACK) {          Intent intent = new Intent(Intent.ACTION_MAIN);          intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);          i

  • Android应用开发之代码混淆

    混淆器(ProGuard) 混淆器通过删除从未用过的代码和使用晦涩名字重命名类.字段和方法,对代码进行压缩,优化和混淆.结果是一个比較小的.apk文件,该文件比較难进行逆向project.因此,当你的应用程序对安全敏感(要求高),比如当你授权应用程序的时候,混淆器是一种重要的保护手段. 混淆器被集成在android 构建系统中,所以你不必手动调用它.同一时候混淆器仅在公布模式下进行构建应用程序的时候才会执行起来,所以在调试模式下构建程序时,你不必处理混淆代码.让混淆器执行起来是可选择的,可是推荐

  • android开发教程之时间对话框核心代码

    复制代码 代码如下: new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                c.setTimeInMillis(System.currentTimeMillis());                c

  • Android开发自学笔记(五):使用代码控制界面

    酷酷的外表已经具备了,那就开始让我们真正把它的功能给实现起来吧,外强中干,花拳绣腿可不行哦,我们需要真正的本领,需要一颗自强不息的心哦,常常想想自己的梦想什么,这样才不会迷失自己,才会在茫茫的世界中找到自己前进的方向!我不会告诉你我刚看过<voice of China session 3>哦. 从上两节教程中,我们已经会搭出如下美美的布局了,欢迎翻页查阅:) Android自学开发第四篇之布局上 Android自学开发第五篇之布局下 添加第二个layout 关于layout布局我们不再赘述,这

  • android开发之方形圆角listview代码分享

    先看效果图: 首先,你得写一个类我们命名为CornerListView [java] 复制代码 代码如下: /** * 圆角ListView示例 * @Description: 圆角ListView示例 * @FileName: CornerListView.java  */ public class CornerListView extends ListView {     public CornerListView(Context context) {         super(conte

  • android开发之蜂鸣提示音和震动提示的实现原理与参考代码

    最近在读zxing项目,学到了不少东西.推荐大家也读读.里面有个BeepManager类,实现一个蜂鸣音和震动的实现.我们一起来看看他是怎么做的: 蜂鸣 1.准备一个 音频文件 比如:beep.ogg. ogg格式是声音压缩格式的一种,类似mp3这样.我们准备播放它,就产生了蜂鸣的效果. 2.为activity注册的默认 音频通道 . activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); 这里声明为 STREAM_MUSIC的通道

  • Android应用开发:电话监听和录音代码示例

    在oncreate 中执行: 复制代码 代码如下: public void onCreate() {  super.onCreate();  Log.i("TAG", "服务启动了"); // 对电话的来电状态进行监听  TelephonyManager telManager = (TelephonyManager) this    .getSystemService(Context.TELEPHONY_SERVICE);  // 注册一个监听器对电话状态进行监听 

  • Android开发中实现用户注册和登陆的代码实例分享

    在android的应用中越来越多的包含了网络互动功能,这就带来了注册,登陆账号功能.本文完整的介绍对话框的方式实现用户登陆功能. 登陆效果: 应用程序判断当前用户还未登陆,弹出登陆对话框,用户输入账号和密码信息后,传到服务器验证,验证成功后,现实Toast 成功信息,并转到其他界面. 注册效果:用户如没有账号,则点击登陆对话框的 "没有账号,快速注册账号", 弹出注册界面,用户输入注册信息,点击注册按钮,注册成功后,弹出toast信息"注册成功",完成注册后,转到其

  • 解析Android开发优化之:从代码角度进行优化的技巧

    通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能.下面我们就从几个方面来了解Android开发过程中的代码优化. 1)静态变量引起内存泄露 在代码优化的过程中,我们需要对代码中的静态变量特别留意.静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁.所以,一般情况下,静态变量

随机推荐