Android基础
Sam冼
这个作者很懒,什么都没留下…
展开
-
Android 开机启动
Android开机启动原创 2024-02-21 11:41:20 · 602 阅读 · 0 评论 -
Java 小数与百分数互相转换
小数与百分数互相转换原创 2023-03-23 09:30:52 · 2622 阅读 · 0 评论 -
Android 通知屏幕亮起
通知唤醒屏幕原创 2022-11-24 14:45:43 · 1514 阅读 · 0 评论 -
Android Studio编译慢
Android studio编辑慢原创 2022-03-30 09:52:36 · 3873 阅读 · 0 评论 -
TextView简单自动滑动(跑马灯效果)
TextView简单自动滑动(跑马灯效果)原创 2021-12-10 16:57:37 · 1712 阅读 · 0 评论 -
Android离线文字转语音(中文)
1.下载科大讯飞语音引擎安装到手机上,在设置->语言->高级->文字转语音 把首选引擎由Pico TTS改为科大讯飞语音引擎2.代码中使用private TextToSpeech textToSpeech;textToSpeech = new TextToSpeech(this, status -> { if (status == textToSpeech.SUCCESS) { int result = ..原创 2021-09-13 15:02:33 · 1534 阅读 · 0 评论 -
图片放大缩小
private final class TouchListener implements View.OnTouchListener { /** * 记录是拖拉照片模式还是放大缩小照片模式 */ private int mode = 0;// 初始状态 /** * 拖拉照片模式 */ private static final int MODE_DRAG = 1; .原创 2021-09-06 14:31:27 · 105 阅读 · 0 评论 -
Android textview内容显示多种颜色
contents = "内容显示多种颜色";SpannableStringBuilder style = new SpannableStringBuilder(contents);//前面两个字为橙色style.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.organge)), 0, 2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//后面字为红色style.setSp.原创 2021-09-03 09:02:37 · 426 阅读 · 0 评论 -
Android使用自定义字体
一、在assets下新建fonts文件夹,把下载的字体hwxk.ttf放到里面二、引用//从asset 读取字体得到AssetManagerAssetManager manager = getAssets();//根据路径得到TypefaceTypeface tf = Typeface.createFromAsset(manager, "fonts/hwxk.ttf");//设置字体tvTitle.setTypeface(tf);三、字体资源链接https://downlo.原创 2021-08-18 16:44:07 · 520 阅读 · 0 评论 -
限制小数位数
public class DecimalDigitsUtil implements InputFilter { private int decimalDigits = 0; public DecimalDigitsUtil(int decimalDigits) { this.decimalDigits = decimalDigits; } @Override public CharSequence filter(CharSequence sour.原创 2021-08-07 08:46:10 · 169 阅读 · 0 评论 -
监听EditText输入完成
Handler handler = new Handler();private Runnable delayRun = this::getReadyOrderList;//延迟线程,看是否还有下一个字符输入 sam 2021-6-16原创 2021-06-16 17:30:21 · 795 阅读 · 0 评论 -
Android连续点击监听
//定义一个数组,需要监听几次点击事件数组的长度就为多少long[] mHints = new long[4];//初始全部为0//需要实现功能的控件调用private void moreClick(){//将mHints数组内的所有元素左移一个位置System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1);//获得当前系统已经启动的时间mHints[mHints.length - 1] = SystemClock.uptimeMi.原创 2021-05-11 16:47:21 · 412 阅读 · 0 评论 -
数值运算精度引起计算不准确
public static Double add(Double value1, Double value2) { BigDecimal b1 = new BigDecimal(Double.toString(value1)); BigDecimal b2 = new BigDecimal(Double.toString(value2)); return b1.add(b2).doubleValue();}原创 2021-03-16 16:20:06 · 200 阅读 · 0 评论 -
WebView下载文件并显示进度
1.activitypackage com.sam.more.activitys.webview;import android.content.Context;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.原创 2021-03-13 16:52:47 · 531 阅读 · 0 评论 -
语言国际化
第一步:添加EventBus引用implementation 'org.greenrobot:eventbus:3.0.0'第二步:在BaseActivity中@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (isRegisterEventBus()) { Eve原创 2021-02-22 14:46:10 · 126 阅读 · 0 评论 -
byte字节流和bitmap互相转换
/**把byte字节流转成bitmap * @param bytes */public void byteToBitmap(byte[] bytes) { BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = false;//为true时,返回的bitmap为null Bitmap bitmap = BitmapFactory.decodeByteArray(by.原创 2020-09-18 15:30:44 · 2829 阅读 · 0 评论 -
Android保存Bitmap
/** * 保存Bitmap */public static void saveBitmap(Bitmap bm) { File f = new File(Environment.getExternalStorageDirectory().getPath()+"//", Util.getOutTradeNo3(System.currentTimeMillis()) + ".png"); if (f.exists()) { .原创 2020-09-18 15:26:34 · 853 阅读 · 0 评论 -
Android设置圆形CheckBox
设置属性:style="@style/Widget.AppCompat.CompoundButton.RadioButton"原创 2020-08-18 15:06:49 · 1551 阅读 · 0 评论 -
Android零基础开发
Android零基础入门第1节:Android的前世今生Android零基础入门第2节:Android 系统架构和应用组件那些事Android零基础入门第3节:带你一起来聊一聊Android开发环境Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招Android零基础入门第5节:善用ADT Bundle, 轻松邂逅女神Android零基础入门第6节:配置优化SDK Manager, 正式约会女神Android零基础入门第7节:搞定Android模拟器,开启甜蜜之转载 2020-08-13 17:53:12 · 161 阅读 · 0 评论 -
Android SQLite基本用法
1.创建表格第一步,先创建一个类,然后继承 SQLiteOpenHelper这个类,并且实现抽象方法。第二步,创建一个构造方法。第三步,在Oncreat方法里面建表。activity继承个人写的baseActivity,读者可用自己的代替,本人的里面涉及到一个顶部返回的按钮,只要在布局中去掉即可,同时把activity设置标题的的代码去掉package com.pad.untek.mes.mespda.test.activitys.sqlite;import android.con原创 2020-08-06 09:22:55 · 308 阅读 · 0 评论 -
retrofit+MVP开发
项目结构:视图层通过presenter调用模型来获取数据,模型调用retrofit获得数据后,再通过CallBack把数据返回给presenter,presenter通过Impl返回给view,view负责显示就行,逻辑层次明显。首先要添加相关依赖:compile 'com.squareup.retrofit2:retrofit:2.0.2'compile 'com.squa...原创 2020-03-23 16:10:48 · 262 阅读 · 0 评论 -
Android之AsyncTask机制篇
1.AsyncTask是什么? 它本质上是一个封装了线程池和Handler的异步框架。2.AsyncTask的基本用法 使用AsyncTask要理解3个泛型参数和4个方法,一旦理解这个三四,那么AsyncTask使用起来非常熟悉了。 我们就拿下载图片作为一个例子,代码如下:public class MyAsyncTask extends AsyncTask<Str...转载 2020-03-22 14:40:52 · 226 阅读 · 0 评论 -
Android之项目命名规则
常见的包分层结构如下:com.xxx.xxx.view –> 自定义view 或者是View接口com.xxx.xxx.activities –> activity类com.xxx.xxx.fragments –> fragment类com.xxx.xxx.adapter –> 适配器相关com.xxx.xxx.utils –> 公共工具类co...原创 2020-02-12 20:52:11 · 371 阅读 · 0 评论 -
OKHttp基本用法
首先记得在build.gradle 和 配置文件分别加上依赖 和 网络权限implementation'com.squareup.okhttp3:okhttp:3.9.1'<uses-permission android:name="android.permission.INTERNET" />下面是具体代码package com.example.okhttpde...原创 2020-02-12 17:23:59 · 410 阅读 · 0 评论 -
Android之ContentProvider篇
1.内容提供者是什么? 内容提供者(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。目前,使用内容提供者是Android实现跨程序共享数据的标准方式。 不同于文件存储和SharedPreferences存储中的两种全局可读可写操作模式,内容提供者可以选择只对哪一...转载 2018-10-07 13:45:13 · 249 阅读 · 0 评论 -
Android之Broadcast篇
1.广播是什么1.1 定义 在Android中,它是一种广泛运用在应用程序之间传输信息的机制,Android中我们发送广播内容是一个Intent,这个Intent中可以携带我们要发送的数据。1.2 广播的使用场景 a.同一app内有多个进程的不同组件之间的消息通信。 b.不同app之间的组件之间消息的通信。2 广播的种类2.1 无序广播 conte...转载 2018-10-07 13:39:54 · 200 阅读 · 0 评论 -
Android之Activity篇
Activity是什么? Activity实际上只是一个与用户交互的接口而已。1.Activity生命周期1.1 Activity的4种状态 Active/Paused/Stopped/Killed Activie:当前Activity正处于运行状态,指的是当前Activity获取了焦点。 Paused:当前Activity正处于暂停状态,指的是当前Act...转载 2018-10-07 13:36:05 · 256 阅读 · 0 评论 -
Android四大组件、六大布局、五大存储
Android四大组件分别为activity、service、content provider、broadcast receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在AndroidManifes...转载 2018-09-25 17:48:46 · 248 阅读 · 0 评论 -
自定义MyOkHttp封装和调用
一、添加gradle依赖compile 'com.tsy:myokhttp:1.1.4'二、新建接口类public interface HttpCallBackListener {void onSuccess(String respose);void onError(Exception e);}三、OKHTTP中的get,post请求管理public class H...原创 2018-07-31 17:47:37 · 1337 阅读 · 0 评论 -
Android快速蓝牙开发
随着近两年可穿戴式产品逐渐进入人们的生活,蓝牙开发也成为了Android开发的一个重要模块,下面我们就来说一说蓝牙的这些API。1.蓝牙开发有两个主要的API:BuletoothAdapter:本地蓝牙的适配器,也就是说当前应用程序所运行的Android设备上的蓝牙BuletoothDevice : 远程的蓝牙适配器,也就是说你要连接的Android设备的适配器。2.蓝牙权限 :android....原创 2018-03-22 12:49:30 · 294 阅读 · 0 评论 -
Android之Service篇
1.Service的基本认识1.1 Service是什么? Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的组件。它运行于UI线程,因此不能进行耗时的操作。1.2 Service和Thread的区别 Service的运行是在UI线程当中的,是绝对绝对不能进行耗时操作的,而Thread开启的子线程则可以进行耗时操作,但是Thread开启的子线...转载 2018-10-07 13:47:12 · 165 阅读 · 0 评论 -
Android之Fragment篇
1.Fragment为什么会被称为第五大组件? Android中的4大组件为:Activity,Broadcast,Service,ContentProvider,那么为什么Fragment可以称之为第5大组件呢?你可以这么回答: 因为Fragment有生命周期,使用频率不输于4大组件,可灵活加载到Activity中。然后谈论谈论Fragment如何加载到Activity中:1.1...转载 2018-10-26 20:25:06 · 236 阅读 · 0 评论 -
Android之WebView篇
1.什么是WebView? Android WebView在Android平台上是一个特殊的View, 基于webkit引擎、展现web页面的控件,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索。Android的Webview在低版本和高版本采用了不同的webkit版本...转载 2018-10-26 20:34:31 · 365 阅读 · 0 评论 -
Android之Handler机制篇
1.什么是Handler? Handler是可以通过发送和处理Message和Runnable对象来关联相应线程的MessageQueue。通常我们认为它是一种异步机制。 a.可以让对应的Message和Runnable在未来的某个时间点进行相应的处理。 b.让自己想要的耗时操作在子线程中完成,让更新UI的操作在主线程中完成,而子线程与主线程之间的通信就是靠Handler来完成。...转载 2018-10-27 13:15:21 · 222 阅读 · 0 评论 -
Android之网络协议篇
Android开发中要掌握的协议,一般包括Http协议和Tcp/Ip协议,如果开发蓝牙设备还要知道一些蓝牙BLE协议。还有一个就是Socket编程,也是以Tcp/Ip协议为基础的,并且和无线设备比较相关。一.Http协议(一)Http基础知识超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守...原创 2018-10-27 14:54:15 · 2870 阅读 · 0 评论 -
Android之RecyclerView篇
1.RecyclerView是什么? 从Android 5.0开始,谷歌公司推出了RecylerView控件,当看到RecylerView这个新控件的时候,大部分人会首先发出一个疑问,recylerview是什么?为什么会有recylerview也就是说recylerview的优点是什么?recylerview怎么用?等等,下面我们将深入解析recylerview。 RecyclerVi...转载 2018-10-27 19:49:30 · 154 阅读 · 0 评论 -
Android之Retrofit基本用法篇
1.Retrofit基本用法1.初始化 webInterface = new Retrofit.Builder() .baseUrl(hostname) .client(client)//这个client是OkHttpClient,以后和Okhttp的基本用法和流程分析中细说 ....转载 2018-10-27 20:13:42 · 449 阅读 · 0 评论 -
Android studio常用快捷键
最常用快捷键1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号的开头结尾4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方5.Ctrl+F12,可以显示当前文件的结构6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择7.Ctrl+N,可以快速打开类8.Ctrl+原创 2018-02-01 11:53:45 · 238 阅读 · 0 评论