Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有
2015-12-17 21:20
609 查看
Android高效率编码-细节,控件,架包,功能,工具,开源汇总
其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来看看,这样子对自己也有好处,所以今天就汇总一下一些需要的东西。多图来了,加油!一.游戏
[code]小熊打字,我刚接触电脑练习打字的时候用到的
下载地址:http://download.csdn.net/detail/qq_26787115/9365721
二.色彩
[code]这张颜色表上的颜色都太赞了
三.控件
1.TextView
[code]//禁止换行 android:singleLine="true"
[code]//字体滚动 <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true" />
[code]文本添加下划线
2.EditText
[code] //只接收数字类型 android:numeric="integer" //只接收电话类型 android:phoneNumber="true" //密码效果 android:password="true"
3.LinearLayout
[code]各种属性
4.RelativeLayout
[code]各种属性
5.Button
[code]扁平的按钮xml写法
6.WebView
[code]加载网页
7.RatiBar评分条
[code]评分
8.ListView
[code]基本写法
ArrayAdapter写法
SimpleAdapter写法
9.ToggleButton
[code]ToggleButton更换主题
10.Spinner
[code]布局
代码
11.Dialog
[code]属性
用法
12.AutoCompleteTextView
[code]AutoCompleteTextView
MultiAutoCompleteTextView
13.TabHost
[code]布局
Activity
TabHostActivity自定义Title字体颜色等
14.Menu
[code]菜单
15.String的一些常用方法
四.基础动画
1.缩放
2.透明
3.旋转
4.移动
5.混合
6.动画监听事件
五.功能(有些需要权限,自行添加)
1.拨号
[code]第一种方法
第二种方法
2.SeekBar进度条
3.沉浸式状态栏
[code]放在onCreate()方法里
4.隐藏ActionBar
[code]getActionBar().hide();
5.屏蔽返回键
6.按两次退出
[code]方法1
方法2
[code] private long exitTime = 0;
7.拍照
8.分享
[code]调用系统的分享功能
9.播放音乐
[code]对应的功能,比如停止时stop();
10.ViewPager
11.获取软件版本号
12.检查SD卡状态
13.手机震动
14.跳转短信
15.头像选择
16.获取系统电量
17.下载
18.重启
[code]root
19.关机
[code]root
20.子线程网络下载图片
21.获取手机各种信息
[code]效果图
直接上代码
注意添加各种权限
activity_main.xml
[code]<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical" > <RelativeLayout android:id="@+id/tab1_rl" android:layout_width="match_parent" android:layout_height="51dp" android:background="#34c083" > <TextView android:id="@+id/tab1_btn01" android:layout_width="wrap_content" android:layout_height="51dp" android:layout_centerHorizontal="true" android:background="@null" android:gravity="center" android:text="手机信息" android:textColor="@android:color/white" android:textSize="20dp" /> <Button android:id="@+id/btn_back" android:layout_width="wrap_content" android:layout_height="51dp" android:layout_alignParentLeft="true" android:background="@drawable/back" /> </RelativeLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="IP:" /> <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="MAC地址:" /> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="SD卡存储信息:" /> <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="手机分辨率:" /> <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="网络是否连接:" /> <TextView android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="手机内存:" /> <TextView android:id="@+id/tv6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="手机CPU:" /> <TextView android:id="@+id/tv7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@android:color/white" android:gravity="center_vertical" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="手机IMEI:" /> <TextView android:id="@+id/tv8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dp" android:background="#aeaea9" /> </LinearLayout>
MainActivity.java
[code]package com.lgl.circle; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Environment; import android.os.StatFs; import android.telephony.TelephonyManager; import android.text.format.Formatter; import android.util.DisplayMetrics; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; import android.widget.Toast; import com.lgl.circle.R; public class AboutPhone extends Activity { private TextView tv1, tv2, tv3, tv4, tv5, tv6, tv7, tv8; private String[] cpuInfo = { "", "" }; // 1-cpu型号 //2-cpu频率 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.about_phone); initView(); } private void initView() { tv1 = (TextView) findViewById(R.id.tv1); tv1.setText(getLocalIpAddress2()); tv2 = (TextView) findViewById(R.id.tv2); tv2.setText(getLocalMacAddress()); tv3 = (TextView) findViewById(R.id.tv3); // 需要判断手机上面SD卡是否插好,如果有SD卡的情况下,我们才可以访问得到并获取到它的相关信息,当然以下这个语句需要用if做判断 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 取得sdcard文件路径 File path = Environment.getExternalStorageDirectory(); StatFs statfs = new StatFs(path.getPath()); // 获取block的SIZE long blocSize = statfs.getBlockSize(); // 获取BLOCK数量 long totalBlocks = statfs.getBlockCount(); // 空闲的Block的数量 long availaBlock = statfs.getAvailableBlocks(); // 计算总空间大小和空闲的空间大小 // 存储空间大小跟空闲的存储空间大小就被计算出来了。 long availableSize = blocSize * availaBlock; // (availableBlocks * blockSize)/1024 KIB 单位 // (availableBlocks * blockSize)/1024 /1024 MIB单位 long allSize = blocSize * totalBlocks; tv3.setText("可用:" + availableSize / 1024 / 1024 / 1024 + "GB" + " 总共:" + allSize / 1024 / 1024 / 1024 + "GB"); } else { tv3.setText("SD卡不可用"); } tv4 = (TextView) findViewById(R.id.tv4); DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); tv4.setText("分辨率:" + displayMetrics.widthPixels + "x" + displayMetrics.heightPixels); tv5 = (TextView) findViewById(R.id.tv5); ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo == null || !networkInfo.isConnected()) { // info.setConnected(false); tv5.setText("当前无网络"); } else { // info.setConnected(true); tv5.setText("当前网络正常"); } tv6 = (TextView) findViewById(R.id.tv6); String availMemory = getAvailMemory(); String totalMemory = getTotalMemory(); tv6.setText("可用内存:" + availMemory + "\n" + "总内存:" + totalMemory); tv7 = (TextView) findViewById(R.id.tv7); getCpuInfo(); tv7.setText("cpu型号:" + cpuInfo[0] + "\n" + "cpu频率:" + cpuInfo[1]); tv8 = (TextView) findViewById(R.id.tv8); try { TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String imei = mTelephonyMgr.getDeviceId(); tv8.setText("" + imei); } catch (Exception e) { // TODO: handle exception } findViewById(R.id.btn_back).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } // 获取手机ip method-2 public String getLocalIpAddress2() { // 获取wifi服务 WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); // 判断wifi是否开启 if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); } WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); String ip = intToIp(ipAddress); return ip; } private String intToIp(int i) { return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "." + (i >> 24 & 0xFF); } /** * mac地址 start */ public String getLocalMacAddress() { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); } // 手机的内存信息主要在/proc/meminfo文件中,其中第一行是总内存,而剩余内存可通过ActivityManager.MemoryInfo得到。 private String getAvailMemory() {// 获取android当前可用内存大小 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); // mi.availMem; 当前系统的可用内存 return Formatter.formatFileSize(getBaseContext(), mi.availMem);// 将获取的内存大小规格化 } private String getTotalMemory() { String str1 = "/proc/meminfo";// 系统内存信息文件 String str2; String[] arrayOfString; long initial_memory = 0; try { FileReader localFileReader = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader( localFileReader, 8192); str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小 arrayOfString = str2.split("\\s+"); for (String num : arrayOfString) { Log.i(str2, num + "\t"); } initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 获得系统总内存,单位是KB,乘以1024转换为Byte localBufferedReader.close(); } catch (IOException e) { } return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte转换为KB或者MB,内存大小规格化 } /** * CPU */ private void getCpuInfo() { String str1 = "/proc/cpuinfo"; String str2 = ""; String[] arrayOfString; try { FileReader fr = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader(fr, 8192); str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\\s+"); for (int i = 2; i < arrayOfString.length; i++) { cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " "; } str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\\s+"); cpuInfo[1] += arrayOfString[2]; localBufferedReader.close(); } catch (IOException e) { } } }
六.架包
1.Xutils
[code]强大的xutils就不多说了
下载地址:http://download.csdn.net/detail/qq_26787115/9363335
2.Android animation
[code]动画,注解
下载地址:http://download.csdn.net/detail/qq_26787115/9362755
3.Volley
[code]Google官方网络框架
下载地址:http://download.csdn.net/detail/qq_26787115/9358787
七.工具
[code]说到工具,其实辅助我们的工具还真不少,我以后慢慢的一个个添加
1.HJson
[code]64位的 格式化json的PC端工具
下载地址:http://download.csdn.net/detail/qq_26787115/9365829
2.Xmind
[code]思维导图***软件,如果你的思路不清晰,可以用它来慢慢梳理
下载地址:http://www.xmind.net/cn/
3.MarkDown编辑器
[code]这篇博文就是这个编辑器写出来的,真心很方便,大伙可以试试
下载地址:http://markdownpad.com/
十个编辑器推荐:http://www.csdn.net/article/2014-05-05/2819623
后续还会持续更新,如果由错误或者疑问欢迎评论留言!
相关文章推荐
- Android中JNI的使用方法
- Android 判断当前网络状态
- Android AsyncTask onProgressUpdate 方法的些许研究
- Android之取消ViewPage+Fragment的预加载
- 【Android图片加载框架】制作自己的图片加载框架
- Android学习之核心组件Activity的生命周期
- Android5.0新组件TabLayout+ViewPager实现Tab页面
- android运行错误
- Android读书笔记之自定义RecyclerView列表项
- Textview转化成Bitmap对象
- 【android】SQLite数据库的创建和操作、SQLite数据库可视化
- Android框架 -- GreenDao
- Android帧动画Drawable Animation
- 使用GDB调试Android应用中C/C++代码
- 使用GDB调试Android应用中C/C++代码
- Android5.0以后版本把应用移动到SD或者TF卡的方法
- Android Studio 好用的插件,这些基本是测试过好用的,或者我想用的~
- Android Bitmap OutOfMemory 解决的方法
- Android的图片压缩类ThumbnailUtils
- Android-->RxJava/RxAndroid 入门初体验