![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
金胖
追求自我
展开
-
Android10获取IMEI
从Android 10开始,应用必须具有READ_PRIVILEGED_PHONE_STATE特权,才能访问设备的不可重置标识符,包括IMEI和序列号原创 2021-12-23 10:02:27 · 3585 阅读 · 0 评论 -
字母数字组合生成邀请码,唯一的递增的
Java生成不重复的邀请码/退换码,数字字母组合/** * 生成邀请码工具类 */public class CreateCode { private static String []str_char = {"A","B","C","D","E","F","G","H", "I","J","K","L","M","N","O","P","Q", "R","S","T","U","V","W","X","Y","Z"}; private原创 2020-08-24 16:34:22 · 803 阅读 · 0 评论 -
Android软键盘弹出顶起输入框
在跟布局加入android:fitsSystemWindows=“true”在Androidmanifest.xml中对应activity加入android:windowSoftInputMode=“adjustResize|stateHidden”原创 2020-08-06 16:24:02 · 2111 阅读 · 2 评论 -
Android mvvm使用实战
本编文章简单使用databinding,给刚入门的同学学习mvvm借鉴进入正题//在gradle android下加入dataBinding { enabled = true}.xml中包含常见控件还有recycleview<layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">原创 2020-06-13 14:09:46 · 1925 阅读 · 2 评论 -
Android蓝牙扫描/连接/收发数据
/** * 蓝牙工具类 */public class BlueToothUtils { private final String TAG = this.getClass().getSimpleName(); private static BlueToothUtils utils = null; private BluetoothAdapter bluetoothAd...原创 2019-03-26 09:57:10 · 4784 阅读 · 8 评论 -
好友列表按字母排序
//按字母a~z排序 Collections.sort(mList, new Comparator<FriendInfo>() { @Override public int compare(FriendInfo o1, FriendInfo o2) { char str1 = PinYinUtils.getPinYinFirst...原创 2019-02-25 10:33:52 · 954 阅读 · 0 评论 -
Android7及以上远程更新apk新操作
1、安装权限 &lt;uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /&gt; 2、在AndroidManifest.xml中添加 &lt;provider android:name="android.support.v4.content.FileProvider原创 2019-02-22 17:35:22 · 3357 阅读 · 0 评论 -
Android动画
/** * 控件缩小放大 * * @param view */ public void scaleView(final View view) { if (view == null)return; view.setVisibility(View.VISIBLE); Animation animation ...原创 2019-01-24 10:40:37 · 208 阅读 · 0 评论 -
获取手机IMEI号
权限代码/*** 获取IMEI* @return*/public static String getIMEI() {String IMEI = (String) SPUtils.get(MyApplication.context, SPUtils.IMEI, “”);if (StringUtils.isEmpty(IMEI)){TelephonyManager tm = (Te...原创 2019-01-24 09:44:04 · 1334 阅读 · 0 评论 -
Android连接WiFi设置IP为静态IP
设置静态IP需要先忘记WiFi密码再重新连接,会记住是哪个APP连接WiFipublic class WifiConnet { private static WifiConnet utils = null; private WifiManager wifiManager; public static int Num = 0; public static Stri...原创 2018-09-03 16:32:36 · 8181 阅读 · 10 评论 -
Android百度语音识别/语音助手
上一遍写了语音唤醒和语音合成,这篇写下语音合成/** * 语音识别 * Created by fujiayi on 2017/6/13. * EventManager内的方法如send 都可以在主线程中进行,SDK中做过处理 */public class RecognizerUtils { private final String TAG = this.getClass()....原创 2019-03-29 17:21:17 · 2166 阅读 · 5 评论 -
集成百度离在线语音唤醒/语音合成sdk
在libs和jniLibs加入对应jar包和so库/** * 唤醒 */public class WakeUpUtils { private final String TAG = this.getClass().getSimpleName(); private static WakeUpUtils utils = null; private EventManage...原创 2019-03-28 11:25:01 · 2135 阅读 · 0 评论 -
Android设置全屏/屏幕常亮
//全屏if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.systemUiVisibility = View.SYSTEM_UI_FLAG_IMME...原创 2019-04-24 10:36:45 · 742 阅读 · 0 评论 -
Android连接WiFi
WiFi打开、连接、关闭/** * WiFi连接管理 * 申请权限 * <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> * <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> * ...原创 2019-05-21 10:36:04 · 10002 阅读 · 6 评论 -
Butterknife使用
//在build.gradle的dependencies中implementation 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'//在baseactivity中private Unbinder unbinder;@Override...原创 2019-06-21 10:59:07 · 158 阅读 · 0 评论 -
在module中使用butterknife
在根gradle中加classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2'在module的gradle中加apply plugin: 'com.jakewharton.butterknife'implementation 'com.jakewharton:butterknife:9.0.0-rc2'annotat...原创 2019-07-10 13:38:50 · 688 阅读 · 0 评论 -
android选择城市地区
//地区选择 implementation 'liji.library.dev:citypickerview:0.7.0' /** * 获取地区 **/ private void selectAddress() { CityPicker cityPicker = new CityPicker.Builder(BaseApplication...原创 2019-09-19 14:56:57 · 1658 阅读 · 1 评论 -
android多渠道打包App
//在build.gradle的android节点下配置// 多渠道打包 flavorDimensions 'channel' productFlavors { channel_1 { resValue 'string', 'app_name', '渠道一' buildConfigField('int', 'plat...原创 2019-09-29 10:59:36 · 209 阅读 · 0 评论 -
Android UDP服务器/客户端
UDP服务器public class UdpServer implements Runnable { private static UdpServer utils = null; private String ip = null; public int port = 8880; private DatagramPacket dpRcv = null,dpS...原创 2018-09-03 16:20:16 · 670 阅读 · 0 评论 -
Android搭建ftp服务器/客户端
ftp服务器不设置读写权限是不能上传的文件的private static String hostip = ""; // 本机IP public static final int PORT = 21; // sd卡目录 @SuppressLint("SdCardPath")// public static final String dir = Environm...原创 2018-08-27 17:45:02 · 5112 阅读 · 0 评论 -
Android获取系统版本号、软件版本号
/***获取系统版本***/ public static String getSystemBuild() { String str = "", strCPU = "", cpuAddress = "0000000000000000"; String strss = ""; try { // 读取CPU信息原创 2017-11-18 10:24:01 · 2679 阅读 · 0 评论 -
android ,BroadcastReceiver广播的两种不同方式的用法及区别
BroadcastReceiver可以动态和静态注册,动态注册在代码中用registerReceiver(receiver, filter)注册,动态注册随着应用的退出而结束,静态注册是在清单文件中注册广播的。BroadcastReceiver又分为有序广播和无序广播。动态注册IntentFilter filter = new IntentFilter();filter.addAction("co原创 2017-11-29 11:16:22 · 1132 阅读 · 0 评论 -
Android微信生成支付二维码URL
/*微信二维码支付/ public class WXPayUtils {private static String strResponse = null;private static String url = "";public static String nonceStr = "";public static String outTradeNo = "";/** * 微信生成签名 *原创 2017-11-27 11:37:46 · 16850 阅读 · 7 评论 -
Android文本保存成PDF格式
支持Android文本保存成PDF格式,Canvas画图保存JPG格式导出PDF格式,使用itextpdf-5.5.1.jar包项目地址:http://download.csdn.net/download/weixin_40391500/10149234//创建pdf文档对象 Document document = new Document(); try {原创 2017-12-07 11:37:02 · 3100 阅读 · 0 评论 -
Android 悬浮弹窗window dialog
使用getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)设置全局对话框 添加权限 public static void showDialog(String name){ try { if (dialogPtt != null && dialogPtt.is原创 2017-12-15 16:30:03 · 962 阅读 · 0 评论 -
判断APP当前版本号与提供的apk对比是否需要升级
通过PackageInfo 判断apk的版本与当前已安装的版本比较确定是否需要升级,避免web上是老版本apk,填写的版本号却大于当前apk版本导致升级失败private static boolean packageContentIsCorrect(String filename,Context context) { PackageManager mPm = context.getP原创 2017-12-18 10:05:02 · 4584 阅读 · 3 评论 -
TabLayout简单使用
xml布局<android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="scrollab原创 2017-12-27 10:00:30 · 264 阅读 · 0 评论 -
SQLite简单使用
继承SQLiteOpenHelper 类,可以在这里进行版本控制,添加表或修改表结构public class DataBaseHelper extends SQLiteOpenHelper { private String SQL_LOGIN = "create table login_table(_id integer primary key autoincrement," +原创 2017-12-27 10:33:58 · 161 阅读 · 0 评论 -
Toast短时间内多次显示同一个提示信息只显示一次
有时候点击某个控件的时候需要弹出提示框,比如一个控件有判空操作,连续多次点击多少次就会提示多少次,用户体验就会很差public class ToastUtils { private static Toast toast; private static long oneTime = 0; private static long twoTime = 0; private s原创 2017-12-27 11:39:17 · 2488 阅读 · 0 评论 -
Android从Assets复制文件到本地
/***从asset复制文件到内存****/ private void copyByAssetsApk() { new Thread(new Runnable() { @Override public void run() { try { System.o原创 2018-01-15 13:50:13 · 3113 阅读 · 0 评论 -
Android banner图片轮播
图片轮播控件,使用Picasso加载图片项目地址:http://download.csdn.net/download/weixin_40391500/10232185 轨迹球类PointBall.java/** * 轨迹球 * Created by pc20170521 on 2018-01-29. */public class PointBall extends Linear原创 2018-01-30 17:54:23 · 357 阅读 · 0 评论 -
Android日历
项目地址:http://download.csdn.net/download/weixin_40391500/10264219 private CalendarPickerView calendar; private String date; private Calendar nextYear; @Override protected void onCrea...原创 2018-03-01 09:42:52 · 682 阅读 · 0 评论 -
OKHttp请求https证书验证
拿到srca.cer证书放入assets文件中private static SSLSocketFactory sslSocketFactory = null;public static void getSocketFactory() { try { InputStream certificate = MyApplication.mContext.getAssets...原创 2018-03-15 15:18:00 · 1665 阅读 · 2 评论 -
Android获取外置SD卡路径
SD卡路径没有找到直接获取的方法,现在移植Android7.1的系统,以前在Android5.1上的应用不能直接用了 Android7.1换一张SD卡,路径又变了兼容获取SD卡路径//遍历storage路径下的所有文件/****获取SD卡路径****/ public String getSDCardPath(){ String path = ""; ...原创 2018-03-24 11:19:37 · 2113 阅读 · 4 评论 -
Android5.1系统应用移植Android7.1报错
Android5.1 apk移植到Android7.1调用so库失败解决 错误日志: 03-20 18:51:11.075 19704 19704 E linker : library “/system/lib/libserial_portlib.so” (“/system/lib/libserial_portlib.so”) needed or dlopened by “/system/l...原创 2018-03-21 16:03:45 · 1235 阅读 · 0 评论 -
Android设置角标提示
转载自:https://blog.csdn.net/dbs1215/article/details/53054073**1、三星**String launcherClassName = getLauncherClassName(context);if (launcherClassName == null) {return;}Intent intent = new Intent(...转载 2018-04-24 11:04:59 · 1556 阅读 · 0 评论 -
RecyclerView瀑布流实现第一个item占两行
在使用应用的时候经常看到网格模式列表中第一个item占两行,自己也实现了下activity: private RecyclerView rv_list; private StaggeredGLMAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { ...原创 2018-05-10 15:38:31 · 4975 阅读 · 0 评论