前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android 开发常用代码片段

Android 开发常用代码片段

作者头像
阳光岛主
发布于 2019-02-19 07:23:52
发布于 2019-02-19 07:23:52
71300
代码可运行
举报
文章被收录于专栏:米扑专栏米扑专栏
运行总次数:0
代码可运行

1、图片旋转

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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、获取手机号码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//创建电话管理

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 中的字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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代码中设置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/** 全屏设置,隐藏窗口所有装饰 */
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
B、在AndroidManifest.xml中配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
android:theme="@android:style/Theme.Dialog"

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 增加权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

7、检测某个Intent是否有效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 拨打电话

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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中打开浏览器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Intent viewIntent = new 
    Intent("android.intent.action.VIEW",Uri.parse("http://vaiyanzi.cnblogs.com"));

startActivity(viewIntent);

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);

12、android中获取IP地址

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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获取存储卡路径以及使用情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/** 获取存储卡路径 */ 
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中添加新的联系人

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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、查看电池使用情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);        
startActivity(intentBatteryUsage);

16、获取进程号

代码语言:javascript
代码运行次数:0
运行
复制

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 Activity 全屏、横竖屏设置

Android模拟器无法上网问题

15、查看电池使用情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);        
startActivity(intentBatteryUsage);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012年11月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android Intent Action 大全
1、 使用Action跳转,当程序AndroidManifest.xml中某一个 Activity的IntentFilter定义了包含Action,如果恰好与目标Action匹配,且其IntentFilter中没有定义其它的Type或Category过滤条件,那么就正好匹配了。如果手机中有两个以上的Action程序匹配,那么就会弹出一个对话可框来提示说明。例如打开一个网址,弹出可选对话框:
阳光岛主
2019/02/19
3K0
Android Intent Action 大全
安卓应用安全指南 4.1.3 创建/使用活动 高级话题
我们已经解释了如何实现本指南中的四类活动:私有活动,公共活动,伙伴活动和内部活动。 下表中定义了每种类型的导出属性的允许的设置,和intent-filter元素的各种组合,它们在AndroidManifest.xml文件中定义。 请使用你尝试创建的活动,验证导出属性和intent-filter元素的兼容性。
ApacheCN_飞龙
2022/12/01
1.4K0
安卓应用安全指南 4.3.1 创建/使用内容供应器 示例代码
使用内容供应器的风险和对策取决于内容供应器的使用方式。 在本节中,我们根据内容供应器的使用方式,对 5 种类型的内容供应器进行了分类。 您可以通过下面显示的图表,找出您应该创建哪种类型的内容供应器。
ApacheCN_飞龙
2022/12/01
3420
常用的代码片段,不断更新
为防止更新不及时,github地址如下:https://github.com/SolveBugs/NormalCode 1.给当前界面添加一个透明度 /** * 给界面添加透明度 * * @param activity * @param bgAlpha */ public static void backgroundAlpha(Activity activity, float bgAlpha) { activity.getWindow().addFlags(WindowManager
coderZhen
2018/06/28
5610
Android 开发常用接口
android常用接口 常见的一些调用接口 更多阅读全文后star,实时更、更新收集到的接口 dip转px public int convertDipOrPx(int dip) { float scale = MarketApplication.getMarketApplicationContext().getResources().getDisplayMetrics().density; return (int) (dip * scale + 0.5f
用户1263308
2018/02/01
1.8K0
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册 效果图 遇见平江路 代码实现 activity_main.xml MainActivity DownloadPhotoUtil ImageUtil 效果图 遇见平江路
是阿超
2022/10/05
4.5K0
Android保存图片到相册(适配android 10以下及以上)
android 监听网络状态的变化及实战
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/53008266
程序员徐公
2018/09/17
4.7K0
android 监听网络状态的变化及实战
Android Hook Activity 的几种姿势
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/81459910
程序员徐公
2018/09/17
1.4K0
Android Hook Activity 的几种姿势
羊皮书APP(Android版)开发系列(十)Android开发常用工具类
Android开发过程中,我们需要的很多代码都是重复多次使用的,写成工具类是一个比较好的做法,下面是我常用的几个工具类,也希望对你有所帮助。分别是:日期格式化工具、转换图片颜色工具、app启动引导页控制工具、Intent 工具、手机信息采集工具、存储和访问SharedPreferences工具、正则表达式工具、SD卡片工具、Toast信息工具、app版本工具、错误信息反馈工具、类型转换工具。 大家可到github上下载代码AndroidUtils。 日期格式化工具 package cn.studyou
热心的程序员
2018/08/30
8920
android常用接口(二)
=图片========================== bitmap转Byte数组(微信分享就需要用到) public byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) { ByteArrayOutputStream output = new ByteArrayOutputStream(); bmp.compress(CompressFormat.PNG, 100, output);
用户1263308
2018/02/01
7480
android: API24 及以上版本调用系统相机时报:FileUriExposedException 的解决
这个公众号也维护了有一小段时间了,虽然因为个人工作原因最近更新频率并不是很高,但我一定会坚持更新下去。
CnPeng
2020/08/11
6870
Android点将台:外交官[-Intent-]
张风捷特烈
2024/01/30
2020
Android点将台:外交官[-Intent-]
让 Android 的 WebView 支持 type 为 file 的 input,同时支持拍照
Android 的 WebView 组件默认是不启用 type 为 file 的 input 的,需要在代码中做一些类似 hack 的编码(因为解决问题的目标对象的方法都是加了@hide注解的)才能召唤神龙。
LeoXu
2018/08/15
1.7K0
Android开发-API指南- Calendar Provider
英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 采集日期:2015-05-10
全栈程序员站长
2022/09/07
1.6K0
Android开发-API指南- Calendar Provider
相关推荐
Android Intent Action 大全
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文