积跬步

Just do IT Now.


  • Home

  • Tags

  • Categories

  • Archives

  • Search

防抖动、防快速点击

Posted on 2020-10-14 | In Android代码片段

工具类:NoDoubleClickListener防止过快双击

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public abstract class NoDoubleClickListener implements View.OnClickListener{

public static final int MIN_CLICK_DELAY_TIME = 1000;
private long lastClickTime = 0;

@Override
public void onClick(View v) {
long currentTime = Calendar.getInstance().getTimeInMillis();
if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME){
lastClickTime = currentTime;
onNoDoubleClick(v);
}
}

public abstract void onNoDoubleClick(View v);
}

使用:view.setOnClickListener(new NoDoubleClickListener(){})

Read more »

工具-CrashHandler全局捕获异常

Posted on 2020-10-14 | In Android代码片段

CrashHandler全局捕获异常

定义捕获异常的代码

CrashHandler.java

Read more »

图片相关

Posted on 2020-10-14 | In Android代码片段

图片压缩后再上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
private void uploadHeadPortrait(Uri imgUri) {
compressPic(imgUri);
}

//压缩图片
private void compressPic(Uri uri){
ImageCompress compress = new ImageCompress();
ImageCompress.CompressOptions options = new ImageCompress.CompressOptions();
// options.uri = Uri.fromFile(new File(sourcePath));
options.uri = uri;
options.maxWidth=Constants.RESIZEBITMAP_WIDTH;
options.maxHeight=Constants.RESIZEBITMAP_HEIGHT;
Bitmap bitmap = compress.compressFromUri(ManagerJJActivity.this, options);
saveCompressedPic(bitmap, uri);
}

//bitmap图片保存到手机指定路径
private void saveCompressedPic(Bitmap bitmap, Uri uri){
boolean isSaved = BitmapUtils.setBitmapToFile(bitmap, Constants.COMPRESSED_PIC_PATH);
if (isSaved){//保存成功用压缩后的图片进行上传
Uri uri1 = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "compress.jpg"));
uploadPic(uri1);
}else {//未保存成功,用原图片进行上传
uploadPic(uri);
}
}

//从指定位置捞出来图片进行上传
private void uploadPic(Uri imgUri){
if (null == loadingBar) {
loadingBar = LoadingBar.make(findViewById(R.id.activity_manager_jj_rootlayout), new CustomLoadingFactory());
}
if (null != loadingBar) {
loadingBar.show();
loadingBar.setOnClickListener(null);
}

final String filepath;
if (imgUri.toString().startsWith("file")) {
filepath = imgUri.getPath();
} else {
filepath = UiHelper.getFilePathFromContentUri(imgUri, getContentResolver());
}

//采用okhttp3来进行网络请求
String url = UrlManager.URL_IMAGEUPLOAD;
OkHttpClient mOkHttpClient = new OkHttpClient.Builder()
.connectTimeout(Constants.OKHTTPS_CONNECT_TIMEOUT, TimeUnit.MILLISECONDS)
.readTimeout(Constants.OKHTTPS_READ_TIMEOUT, TimeUnit.MILLISECONDS)
.writeTimeout(Constants.OKHTTPS_WRITE_TIMEOUT, TimeUnit.MILLISECONDS)
.build();

RequestBody formBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
// .addFormDataPart("title","Square Logo")
.addFormDataPart("file", "logo-square.png", RequestBody.create(MEDIA_TYPE_PNG, new File(filepath))).build();
Request request = new Request.Builder().url(url).post(formBody).build();
Call call = mOkHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
dialogCancel();

Message msg = new Message();
msg.what = INFO_WHAT;
msg.obj = Constants.UPLOAD_FAIL;
myHandler.sendMessage(msg);
}

@Override
public void onResponse(Call call, Response response) throws IOException {
dialogCancel();
String str = response.body().string();
Log.i(Constants.TAG, str);

JSONObject jsonObject = JSONObject.parseObject(str);
filePath = (String) jsonObject.get("data");
runOnUiThread(new Runnable() {
@Override
public void run() {
Message msg = new Message();
msg.what = INFO_WHAT;
msg.obj = Constants.UPLOAD_SUCCES;
myHandler.sendMessage(msg);
}
});
}

});
}

上面用到底下的图片压缩、Bitmap处理:变圆、读取、存、缩放等

Read more »

Servlet生命周期

Posted on 2020-09-25 | In 后端

Servlet生命周期

什么是 Servlet?

Servlet 是一个 Java 编写的程序,此程序是在服务器端运行的,是按照 Servlet 规范 编写的一个 Java 类。

Read more »

安卓大厂面试题

Posted on 2020-09-25 | In 678

2020Android面经,历时一个半月,斩获3个大厂offer

常考知识点

Java

Read more »

安卓面试提纲

Posted on 2020-09-25 | In 678

项目介绍

  • 明确项目是做什么的
  • 明确项目的价值
  • 明确项目的功能
  • 项目的整体架构
  • 明确项目的技术
  • 个人在项目中承担的角色
  • 项目的优缺点
  • 项目重构的建议
  • 在项目中的技术成长

Java基础

Read more »

待整理

Posted on 2020-09-25 | In 678

CharonChui/AndroidNote

https://github.com/CharonChui/AndroidNote

linsir6/AndroidNote

Read more »

安卓题目-UI相关

Posted on 2020-09-25 | In 求职&兼职

UI相关

请介绍下 Android 中常用的五种布局。

最常用的布局方式为 LinearLayout、RelativeLayout、FrameLayout、TableLayout、AbsoluteLayout。

Read more »

安卓题目-优化相关

Posted on 2020-09-25 | In 求职&兼职

优化相关

什么是 ANR 如何避免它?

谈谈 Android 的优点和不足之处。

Read more »

安卓题目-数据存储

Posted on 2020-09-25 | In 求职&兼职

数据存储

请介绍下 Android 的数据存储方式。

Android 提供了 5 种方式存储数据:

Read more »

安卓题目-四大组件与Intent

Posted on 2020-09-25 | In 求职&兼职

什么是 Activity?

通俗一点说 Activity 就是一个界面,这个界面里面可以放置各种控件。Activity 的界面也是 用 xml 文件表示的,放置在 res->layout 下面。每生成一个新的 Activity 后,我们需要在 AndroidManifest.xml 中注册一下这个 activity

请描述一下 Activity 生命周期。

Read more »

安卓题目-未归类

Posted on 2020-09-25 | In 求职&兼职

其他

请解释下 Android 程序运行时权限与文件系统权限的区别。

运行时 Dalvik( android 授权)
文件系统 linux 内核授权

Read more »
<1…121314…23>

276 posts
23 categories
47 tags
E-Mail CSDN
0%
© 2018 — 2025 阿炳
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4