Android实战开发篇
其子昱舟
挣扎出深渊前,得明白自己处于深渊中。
展开
-
Android实战开发篇 点击EditText以外区域,隐藏键盘,失去焦点
一、建立软键盘监听 /** * 软键盘监听器 */ public static class SoftKeyBoardListener { //activity的根视图 private View rootView; //记录根视图的显示高度 int rootViewVisibleHeight; private OnSoftKeyBoardChangeListener onSoftKeyB原创 2022-04-24 14:12:23 · 4142 阅读 · 0 评论 -
Android实战开发篇 快速点击AlertDialog多次触发条件导致弹出多个Dialog
不要每次点击都实例化一个Dialog,需设置为成员变量,对变量作判空处理一、正确写法public class MainActivity extends Activity{ private AlertDialog mDialog = null; @Override protected void onCreate(Bundle savedInstanceState) { ······ //需要用到AlertDialog 的地方.原创 2021-09-10 18:09:50 · 830 阅读 · 0 评论 -
Android实战开发篇 解析读取复杂Word、Excel、PPT
一、jar包导入Android实战开发篇 读取Word文档的 doc 与 docx 格式文本内容二、文档读取工具 - 转换格式 htmlimport android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.text.TextUtils;import android.util.Log;import android.util.Xml;import org.apache.poi.hssf.userm原创 2021-08-26 14:41:17 · 3231 阅读 · 1 评论 -
Android实战开发篇 读取Word文档的 doc 与 docx 格式文本内容(全网最详细!!!)
一、内容读取所需jar包导入异常崩溃点1 :以下异常均为jar包未导全1、java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/stream/XMLStreamReader;2、RuntimeException异常 :无法正确读取文本内容3、org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/properties/declaration-handler原创 2021-08-26 12:10:34 · 4208 阅读 · 9 评论 -
Android实战开发篇 获取控件宽高
一、基础问题获取控件的宽高直接使用view的getWidth() 和 getHeight()方法获取。但是直接在Activity的onCreate() 或 onResume()中获取的宽高为0。二、问题解析Activity的启动流程和布局文件的加载流程是2个异步的过程,在onCreate或onResume的时候控件还没有绘制完成,因此直接通过getWidth() 和 getHeight()获取的宽、高为0。三、定义获取宽高方法/** * View为例获取控件宽、高 * View :需要获取原创 2021-08-19 14:35:59 · 1978 阅读 · 0 评论 -
Android实战开发篇 txt文件内容转码,解决乱码问题
import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.util.List;/** * @aut原创 2021-08-18 15:19:28 · 657 阅读 · 0 评论 -
Android实战开发篇 扫描文档目录txt、word文件
//全局变量 private List<String> data = new ArrayList<>(); //任意点击事件中编写下列代码,或者onCreate内等等... //获取外部存储状态 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // 第一步:获得SD卡路径 File path = Environment.getExte..原创 2021-08-18 15:17:40 · 581 阅读 · 0 评论 -
Android实战开发篇 浅析Android Service中实现弹出对话框
一、手机版本问题M版本以上需要使用的Type --> TYPE_APPLICATION_OVERLAYAlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());builder.setTitle("CSDN");builder.setMessage("欢迎关注彭老希");builder.setNegativeButton("一键三联",null);Dialog dialog = bui原创 2021-08-16 15:46:59 · 991 阅读 · 0 评论 -
Android实战开发篇 m3u8播放在线测试
一、地址[https://mr158.cn/m3u8test/](https://mr158.cn/m3u8test/)二、验证原创 2021-08-06 11:44:50 · 2406 阅读 · 0 评论 -
Android自定义控件篇 圆形倒计时
一、效果图二、自定义样式 attrs.xml <declare-styleable name="AdCountDownView"> <!--控制广告时间--> <attr name="AD_Time" format="integer"/> <!--是否需要显示文字 eg:是3秒 还是3--> <attr name="If_Need_Text" format="boolean"/>原创 2021-08-05 17:18:30 · 496 阅读 · 0 评论 -
Android实战开发篇 虚线
一、水平虚线的实现(1)在drawable下新建drawable资源 shape_dotted_line.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" andr原创 2021-08-05 13:59:10 · 1140 阅读 · 0 评论 -
Android实战开发篇 Android软键盘遮挡的解决方案
一、 方法一 (setContentView之前)在Activity中的onCreate方法中的setContentView之前加上下方的代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);二、方法二 (AndroidManifest.xml文件)在 项目的AndroidManifest.xml文件中界面对应的Activity里加入 android:windowSoftInputM原创 2021-07-21 18:04:32 · 510 阅读 · 1 评论 -
Android实战开发篇 跳转自启动管理
import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Build;import android.provider.Settings;import android.util.Log; public class MobileInfoUtils { /** *原创 2021-07-19 09:41:12 · 1230 阅读 · 2 评论 -
Android实战开发篇 监听广播唤起Activity(活动)、Dialog弹窗的方案
一、弹窗权限<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW" />二、广播唤起(活动)Activity//关键点:需要添加 Intent.FLAG_ACTIVITY_NEW_TASK intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);public class MyAppReceiver extends BroadcastReceiver {原创 2021-07-15 23:26:08 · 1353 阅读 · 1 评论 -
Android实战开发篇 监听应用APK卸载、覆盖、安装的广播无法接受的问题解决
一、静态注册问题-广播不能接听解决方案<data android:scheme=“package”/>二、动态注册问题-广播不能接听解决方案intentFilter.addDataScheme("package");三、不生效原因探究拓展1、使用覆盖安装的广播时,一定要确认当前安装包和要覆盖的安装包内有覆盖安装的广播,因为覆盖安装时首先会把当前的安装包卸载掉,如果要覆盖的安装包没有相应的广播接收者,那么肯定就会接收不到广播了。2、目前各厂商的系统都不太一样,个别机型可能由于系原创 2021-07-15 23:11:10 · 2625 阅读 · 1 评论 -
Android实战开发篇 【全网最详细】广播监听应用APK卸载、覆盖、安装!!!
一、权限 <!--重启包--> <uses-permission android:name="android.permission.RESTART_PACKAGES" /> <!--接收启动完成--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />二、静态注册(Android 6.0) <!--覆盖原创 2021-07-15 23:04:02 · 1229 阅读 · 2 评论 -
Android实战开发篇 指纹识别API
一、AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.facaicai.fingerprintdialogfragment"> <!--指纹权限--> <uses-permission android:原创 2021-06-24 10:34:13 · 1195 阅读 · 1 评论 -
Android实战开发篇 双服务加时间广播和屏幕关闭解锁广播保护APP存活
一、AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="liuxiaozhu.com.appkeepalive"> <application android:allowBackup="true" android原创 2021-06-15 14:04:43 · 323 阅读 · 4 评论 -
Java零基础学习 Serializable - 序列化和反序列化
一、概念序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。(1)什么情况下需要序列化想把的内存中的对象状态保存到一个文件中或者数据库中时候想用套接字在网络上传送对象的时候想通过RMI传输对象的时候二、实现序列化实现Serializable接口即可import java.io.Serializable;public class FlyPig implements Serializable { //private s原创 2021-06-15 10:06:49 · 217 阅读 · 0 评论 -
Android开发实战篇 ViewPager中切换及滑动切换Fragment数据保存状态
一、概念讲解FragmentPagerAdapter时,根据viewPager的创建习惯,一般会创建左中右三个页面。依次会调用:onAttach()、onCreate()、onCreateView()、onActivityCreated()、onStart()、onResume()并且第一次创建每个Fragment的时候会调用getItem()方法,之后便不会再调用这个方法之后再对ViewPager进行滑动的时候,比如从3号页面滑动到2号页面时,分别调用的方法为:4号Fragment的onP原创 2021-06-15 09:48:20 · 853 阅读 · 0 评论 -
Android实战开发篇 ViewPager+Fragment 取消预加载
一、Fragment的两个方法void setUserVisibleHint(boolean isVisibleToUser)boolean getUserVisibleHint()二、方法介绍setUserVisibleHint:在onCreate方法和onCreateView方法之间执行的一个方法,同时该方法也是Fragment显示的时候执行getUserVisibleHint:获得Fragment的可见状态 public abstract class BaseFragment e原创 2021-06-15 09:39:47 · 1438 阅读 · 0 评论 -
Andoird实战开发篇 延迟线程 封装类
一、封装类/** * @author : Dumplings * @version : v1.0.0 * @ClassName : MyDelayThread.java * @Function : 延迟线程 * @Description : * @Idea : * {@link } * @Encourage :And the more we try to understand one another, the more exceptional each of us will be. *原创 2021-06-09 11:59:12 · 128 阅读 · 0 评论