近来大部分在写逻辑,技术上的点总是有少许积累,最重要的是我觉得自己最大的问题在于恐惧,这是我长期以来养成的依赖,总以为会有人帮我抗。
- 关于时间格式,date 作为一种常见的表示方法,他有许多格式:最常见的就是“yyyy-mm-dd HH:mm:ss”,当然也有就是“hh:mm:ss”,前者是24小时制,后者是12小时制。
- scroolView内部只能有一个子view
- textview不同的字体大小颜色最好用span而不是html解析,原因一是部分机型会显示不全,二是会耗费性能(加载html解析器)
- 锐化会造成边界会出现白边或黑边锐化的方法(拉普拉斯变换)
/**
* 图片锐化(拉普拉斯变换)
*
* @return
*/
public static Bitmap sharpenImageAmeliorate(Bitmap bmp, int[] laplacian) {
long start = System.currentTimeMillis();
// 拉普拉斯矩阵
int width = bmp.getWidth();
int height = bmp.getHeight();
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
int pixR = 0;
int pixG = 0;
int pixB = 0;
int pixColor = 0;
int newR = 0;
int newG = 0;
int newB = 0;
int idx = 0;
float alpha = 1F;
//原图像素点数组
int[] pixels = new int[width * height];
//创建一个新数据保存锐化后的像素点
int[] pixels_1 = new int[width * height];
bmp.getPixels(pixels, 0, width, 0, 0, width, height);
for (int i = 1, length = height - 1; i < length; i++) {
for (int k = 1, len = width - 1; k < len; k++) {
idx = 0;
for (int m = -1; m <= 1; m++) {
for (int n = -1; n <= 1; n++) {
pixColor = pixels[(i + n) * width + k + m];
pixR = Color.red(pixColor);
pixG = Color.green(pixColor);
pixB = Color.blue(pixColor);
newR = newR + (int) (pixR * laplacian[idx] * alpha);
newG = newG + (int) (pixG * laplacian[idx] * alpha);
newB = newB + (int) (pixB * laplacian[idx] * alpha);
idx++;
}
}
newR = Math.min(255, Math.max(0, newR));
newG = Math.min(255, Math.max(0, newG));
newB = Math.min(255, Math.max(0, newB));
pixels_1[i * width + k] = Color.argb(255, newR, newG, newB);
newR = 0;
newG = 0;
newB = 0;
}
}
bitmap.setPixels(pixels_1, 0, width, 0, 0, width, height);
long end = System.currentTimeMillis();
logger.i("may" + "used time=" + (end - start));
return bitmap;
}
复制代码
- 按比例缩放bitmap不能直接使用createBitmap,二是
Matrix matrix = new Matrix();
matrix.preScale(ratio, ratio);
Bitmap newBM = Bitmap.createBitmap(origin, 0, 0, width, height, matrix, false);
复制代码
- 和网页进行交互,最简单的方式通过映射直接让网页吊起对象的方法。
- 网页启动activty
Class clazz = Class.forName(path);
Intent intent = new Intent(context,clazz);
context.startActivity(intent);
复制代码
- 在解决一个问题上一定要分清主次。把最多的时间放在最重要的问题上。