其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来看看,这样子对自己也有好处,所以今天就汇总一下一些需要的东西。多图来了,加油!
小熊打字,我刚接触电脑练习打字的时候用到的
这张颜色表上的颜色都太赞了
//禁止换行
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"
/>
文本添加下划线
//只接收数字类型
android:numeric="integer"
//只接收电话类型
android:phoneNumber="true"
//密码效果
android:password="true"
各种属性
各种属性
扁平的按钮xml写法
加载网页
评分
基本写法
ArrayAdapter写法
SimpleAdapter写法
ToggleButton更换主题
布局
属性
AutoCompleteTextView
布局
Activity
TabHostActivity自定义Title字体颜色等
菜单
第一种方法
放在onCreate()方法里
getActionBar().hide();
方法1
private long exitTime = 0;
调用系统的分享功能
对应的功能,比如停止时stop();
root
root
效果图
<?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>
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) {
}
}
}
强大的xutils就不多说了
动画,注解
Google官方网络框架
说到工具,其实辅助我们的工具还真不少,我以后慢慢的一个个添加
64位的
格式化json的PC端工具
思维导图制作软件,如果你的思路不清晰,可以用它来慢慢梳理
这篇博文就是这个编辑器写出来的,真心很方便,大伙可以试试