Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android 开发常用代码片段

Android 开发常用代码片段

作者头像
阳光岛主
发布于 2019-02-19 07:23:52
发布于 2019-02-19 07:23:52
72200
代码可运行
举报
文章被收录于专栏:米扑专栏米扑专栏
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
常用的代码片段,不断更新
为防止更新不及时,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
5700
Intent action属性大全
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter>元素来过滤。 Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Component),和扩展信息(Extra)。 Intent在寻找目标组件的时候有两种方法:第一,通过组件名称直接指定;第二,通过Intent Filter
黄啊码
2020/05/29
1.6K0
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开发笔记(五十五)手机设备基本操作
手机的基本信息分两类,一类是与电话有关的信息,另一类是设备自身的信息。 与电话有关的信息可由TelephonyManager类获得,常用的参数与对应的方法如下所示: 网络运营商名称 : getNetworkOperatorName 网络运营商编号 : getNetworkOperator,返回五位数字,前三位表示国家代码(中国的为460),后两位表示运营商代码(中国移动为0,中国联通为1,中国电信为2) 手机类型 : getPhoneType 网络类型 : getNetworkType获得细分类型,getNetworkClass获得大类如2G/3G/4G SIM卡状态 : getSimState SIM卡运营商名称 : getSimOperatorName SIM卡运营商编号 : getSimOperator SIM卡序列号 : getSimSerialNumber IMSI : getSubscriberId IMEI : getDeviceId 手机号码 : 实测发现多数情况下getLine1Number和getMsisdn都无法正确取到号码,但是很多APP又需要用户的手机号,那又得想办法获取号码,获取的方法大致有如下几种: 1、用户首次使用,提示用户注册手机号,然后保存起来,下次就能取到手机号了; 2、APP自动用该手机发一条免费短信(比如向10086发),然后到发件箱中寻找该短信的发送号码; 3、如果能连到运营商的支撑系统,那么根据IMSI去后台系统查询手机号,这也是可以的; 设备自身的信息可由Build类获得,常用的参数与对应的方法如下所示: 手机厂商 : Build.MANUFACTURER 手机品牌 : Build.BRAND 手机型号 : Build.MODEL 设备名称 : Build.DEVICE CPU指令 : Build.CPU_ABI 芯片型号 : Build.HARDWARE 手机序列号 : Build.SERIAL SDK版本 : Build.VERSION.SDK_INT 系统版本 : Build.VERSION.RELEASE 版本代号 : Build.VERSION.CODENAME
aqi00
2019/01/18
1.2K0
Android Intent Action 大全
1、 使用Action跳转,当程序AndroidManifest.xml中某一个 Activity的IntentFilter定义了包含Action,如果恰好与目标Action匹配,且其IntentFilter中没有定义其它的Type或Category过滤条件,那么就正好匹配了。如果手机中有两个以上的Action程序匹配,那么就会弹出一个对话可框来提示说明。例如打开一个网址,弹出可选对话框:
阳光岛主
2019/02/19
3K0
Android Intent Action 大全
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
7590
android 监听网络状态的变化及实战
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/53008266
程序员徐公
2018/09/17
4.8K0
android 监听网络状态的变化及实战
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
羊皮书APP(Android版)开发系列(十)Android开发常用工具类
Android开发过程中,我们需要的很多代码都是重复多次使用的,写成工具类是一个比较好的做法,下面是我常用的几个工具类,也希望对你有所帮助。分别是:日期格式化工具、转换图片颜色工具、app启动引导页控制工具、Intent 工具、手机信息采集工具、存储和访问SharedPreferences工具、正则表达式工具、SD卡片工具、Toast信息工具、app版本工具、错误信息反馈工具、类型转换工具。 大家可到github上下载代码AndroidUtils。 日期格式化工具 package cn.studyou
热心的程序员
2018/08/30
9050
安卓应用安全指南 4.1.3 创建/使用活动 高级话题
我们已经解释了如何实现本指南中的四类活动:私有活动,公共活动,伙伴活动和内部活动。 下表中定义了每种类型的导出属性的允许的设置,和intent-filter元素的各种组合,它们在AndroidManifest.xml文件中定义。 请使用你尝试创建的活动,验证导出属性和intent-filter元素的兼容性。
ApacheCN_飞龙
2022/12/01
1.4K0
Android Hook Activity 的几种姿势
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/81459910
程序员徐公
2018/09/17
1.4K0
Android Hook Activity 的几种姿势
Android Intent漏洞
显式Intent通过提供目标应用的包名称或完全限定的组件类名来指定哪个应用程序将满足意向。
tea9
2023/08/24
6880
Android各大手机品牌手机跳转到权限管理界面
作者:_陈小平 地址:http://www.jianshu.com/p/b5c494dba0bc 声明:本文是_陈小平原创,已获其授权发布,未经原作者允许请勿转载 概述 最近项目中遇到这样个需求场景
用户2802329
2018/08/07
2.3K0
android: API24 及以上版本调用系统相机时报:FileUriExposedException 的解决
这个公众号也维护了有一小段时间了,虽然因为个人工作原因最近更新频率并不是很高,但我一定会坚持更新下去。
CnPeng
2020/08/11
6950
客官,聊聊兼容手机角标那点事儿
话说,在某天,正在烦恼某个功能点如何实现更好、更快,老大来了一句,iOS 应用图标有未读提示,这个华为手机怎么没有呢?来,搞一下。
贺biubiu
2019/06/10
1.4K1
Android中Context用法详解学习
Android中Context用法详解学习 本文我们一起来探讨一下关于Android中Context的作用以及Context的详细用法,这对我们学习Android的资源访问有很大的帮助,文章中也贴出
用户1289394
2018/02/26
1.4K0
Android中Context用法详解学习
Android 在应用图标上设置未读消息数量
1.在使用之前首先 初始化 ,三个方法的参数分别是 应用包名/启动页的Activity及Context,四个参数的构造方法第三个是notification
黄林晴
2019/07/02
7.4K3
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
http://download.csdn.net/detail/u011936142/7429455
全栈程序员站长
2022/07/08
1.7K0
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
相关推荐
常用的代码片段,不断更新
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验