Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有

Android高效率编码-细节,控件,架包,功能,工具,开源汇总

其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来看看,这样子对自己也有好处,所以今天就汇总一下一些需要的东西。多图来了,加油!

一.游戏

小熊打字,我刚接触电脑练习打字的时候用到的

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第1张图片

下载地址:http://download.csdn.net/detail/qq_26787115/9365721

二.色彩

这张颜色表上的颜色都太赞了

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第2张图片

三.控件

1.TextView

//禁止换行
android:singleLine="true"
//字体滚动
 <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"
     />
文本添加下划线

textview

2.EditText

       //只接收数字类型
       android:numeric="integer"
       //只接收电话类型
       android:phoneNumber="true"
       //密码效果
        android:password="true"      

3.LinearLayout

各种属性

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第3张图片

4.RelativeLayout

各种属性

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第4张图片

5.Button

扁平的按钮xml写法

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第5张图片

6.WebView

加载网页

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第6张图片

7.RatiBar评分条

评分

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第7张图片

8.ListView

基本写法

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第8张图片
ArrayAdapter写法
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第9张图片
SimpleAdapter写法
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第10张图片

9.ToggleButton

ToggleButton更换主题

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第11张图片

10.Spinner

布局

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第12张图片
代码
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第13张图片

11.Dialog

属性

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第14张图片
用法
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第15张图片

12.AutoCompleteTextView

AutoCompleteTextView

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第16张图片
MultiAutoCompleteTextView
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第17张图片

13.TabHost

布局

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第18张图片
Activity
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第19张图片
TabHostActivity自定义Title字体颜色等
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第20张图片

14.Menu

菜单

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第21张图片

15.String的一些常用方法

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第22张图片

四.基础动画

1.缩放

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第23张图片

2.透明

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第24张图片

3.旋转

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第25张图片

4.移动

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第26张图片

5.混合

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第27张图片

6.动画监听事件

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第28张图片

五.功能(有些需要权限,自行添加)

1.拨号

第一种方法

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第29张图片
第二种方法
Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第30张图片

2.SeekBar进度条

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第31张图片

3.沉浸式状态栏

放在onCreate()方法里

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第32张图片

4.隐藏ActionBar

getActionBar().hide();

5.屏蔽返回键

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第33张图片

6.按两次退出

方法1

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第34张图片
方法2

        private long exitTime = 0;

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第35张图片

7.拍照

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第36张图片

8.分享

调用系统的分享功能

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第37张图片

9.播放音乐

对应的功能,比如停止时stop();

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第38张图片

10.ViewPager

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第39张图片

11.获取软件版本号

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第40张图片

12.检查SD卡状态

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第41张图片

13.手机震动

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第42张图片

14.跳转短信

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第43张图片

15.头像选择

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第44张图片

16.获取系统电量

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第45张图片

17.下载

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第46张图片

18.重启

root

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第47张图片

19.关机

root

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第48张图片

20.子线程网络下载图片

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第49张图片

21.获取手机各种信息

效果图

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第50张图片
直接上代码
注意添加各种权限

activity_main.xml

<?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

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

强大的xutils就不多说了

下载地址:http://download.csdn.net/detail/qq_26787115/9363335

2.Android animation

动画,注解

下载地址:http://download.csdn.net/detail/qq_26787115/9362755

3.Volley

Google官方网络框架

下载地址:http://download.csdn.net/detail/qq_26787115/9358787

七.工具

说到工具,其实辅助我们的工具还真不少,我以后慢慢的一个个添加

1.HJson

64位的
格式化json的PC端工具

下载地址:http://download.csdn.net/detail/qq_26787115/9365829

2.Xmind

思维导图制作软件,如果你的思路不清晰,可以用它来慢慢梳理

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第51张图片

下载地址:http://www.xmind.net/cn/

3.MarkDown编辑器

这篇博文就是这个编辑器写出来的,真心很方便,大伙可以试试

Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有_第52张图片

下载地址:http://markdownpad.com/

十个编辑器推荐:http://www.csdn.net/article/2014-05-05/2819623

后续还会持续更新,如果由错误或者疑问欢迎评论留言!

你可能感兴趣的:(android,开源,程序员,编码,控件)