1,返回图片名称列表
context.getResources().getAssets().list("image")
2,确认图片名字,拿到bitmap
InputStream inputStream = context.getResources()
.getAssets().open("image/" + url);
bitmap = BitmapFactory.decodeStream(inputStream);
3,判断是否已存在文件
context.getFileStreamPath(file).isFile()
4,写文件
# 保存的模式:
# * 使用context中的文件输出流它有四种模式:
# * 文件读写的操作模式:
# * Context.MODE_PRIVATE=0:只能是当前的应用才能操作文件 如果创建的文件已经存在 新内容覆盖原内容
# * Context.MODE_APPEND=32768:新内容追加到原内容后 这个模式也是私有的 这个文件只能被创建文件的应用所访问
# * Context.MODE_WORLD_READABLE=1:允许其他应用程序读取本应用创建的文件
# * Context.MODE_WORLD_WRITEABLE=2:允许其他应用程序写入本应用程序创建的文件,会覆盖原数据。
HttpURLConnection conn;
try {
conn = (HttpURLConnection) myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
FileOutputStream output = context.openFileOutput(
"filename",
Context.MODE_PRIVATE);
int ch = 0;
int max = 1;
byte[] buffer = new byte[max];
while ((ch = is.read(buffer, 0, max)) != -1) {
output.write(buffer, 0, ch);
}
output.close();
is.close();} catch (IOException e) {
e.printStackTrace();
Toast.makeText(context, "错误!", Toast.LENGTH_SHORT).show();
}
5,image.mutate()
mutate()方法是让图片资源mutable,内部工作原理应该就是克隆了一份自己。
6,handle 发送消息
mHandler.sendMessage(mHandler.obtainMessage());
7,图片渐变效果实现思路
利用消息机制,递归设置图片的透明度,用一个变量标识是否已经完全显示。
8,handle 消息机制,非UI线程调用
这些handler只要用了default的Looper,他们之间就能通信。
9,图片写文字
public static Bitmap drawTextAtBitmap(Bitmap bitmap, String text) {
int x = bitmap.getWidth();
int y = bitmap.getHeight();
// 创建一个和原图同样大小的位图
Bitmap newbit = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newbit);
Paint paint = new Paint();
// 在原始位置0,0插入原图
canvas.drawBitmap(bitmap, 0, 0, paint);
paint.setColor(Color.RED);
paint.setTextSize(10);
// 在原图指定位置写上字
canvas.drawText(text, 2, 20, paint);
canvas.save(Canvas.ALL_SAVE_FLAG);
// 存储
canvas.restore();
return newbit;
}
10,函数反射调用(通过函数名调用)
try {
Class cla = Class.forName("com.android.util.AllAndroidMethod");
Object cObject = cla.newInstance();
Method[] methodlist = cla.getDeclaredMethods();
for (Method method : methodlist) {
if (method.getName().equalsIgnoreCase(methodNameString)) {
Class pts[] = method.getParameterTypes();
Method method2 = cla.getDeclaredMethod(method.getName(),
pts);
method2.invoke(cObject, arg0, list);
method2.invoke(cObject, arg0, arg1, list);
method2.invoke(cObject, arg0, arg1);
method2.invoke(cObject, arg0);
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
11,基站定位的一点
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int cid = -1;
int lac = -1;
int nbid = -1;
int nbrssi = -1;
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation gcl = (GsmCellLocation)tm.getCellLocation();
if(gcl != null)
{
cid = gcl.getCid();
lac = gcl.getLac();
}
NeighboringCellInfo nbinfo = new NeighboringCellInfo();
nbid = nbinfo.getCid(); //获取邻居小区号
nbrssi = nbinfo.getRssi(); //获取邻居小区信号强度
TextView tv = new TextView(this);
String str = "CellID = " + cid + ", Lac = " + lac + ", nbid = " + nbid + ", nbrssi = " + nbrssi;
tv.setText(str);
setContentView(tv);
}
分享到:
相关推荐
Android学习笔记 Android学习笔记 Android学习笔记
Android学习笔记
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
第一行代码 android学习笔记 修改完整版
自己整理的Android学习笔记 都是一些小细节,有用
Android 开发学习笔记,学习android的好资料
android 学习笔记 android 学习笔记 android 学习笔记
android 学习笔记(全全整理),吧android学习笔记全部整理下来了,可以去好好学习学习
学习java和android的笔记 更容易学习android 资深学习android 具有大量学习的笔记 很多的错误 都是从细节开始学习的
Android学习笔记,介绍怎么学习android。
Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...
Android学习笔记(十三) 碎片 完整源码
android学习笔记
Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...
android入门学习笔记
Android基础学习笔记,自己总结,适合初学者。
Android_学习笔记 Android_学习笔记 Android_学习笔记
Android学习笔记