![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
app
JustingWang_1
你本来就很帅
展开
-
浅析Glide源码执行流程
Glide源码执行流程总结with()1,传入Application类型的参数,和传入非Application类型的参数。2,传入Application参数的情况,和应用程序的生命周期同步。3,非Application参数,会向当前的Activity当中添加一个隐藏的Fragment,以同步生命周期。4,在非主线程当中使用的Glide,那么不管你是传入的Activity还是Fragment,都会被强制当成Application来处理。load()with()方法返回的是一个RequestMa原创 2020-08-11 16:09:59 · 197 阅读 · 0 评论 -
双击退出APP,版本更新,字符串工具类,分享到更多
双击退出应该这样操作 private static Boolean isExit = false; private void exitBy2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 准备退出 ExtUtils.short原创 2017-09-18 08:55:21 · 462 阅读 · 0 评论 -
解决GridView和ScrollView滑动冲突
我们知道ScrollView和GridView以及ListView都可以上下滑,但用在一起就会造成滑动冲突,只有重写GridView或ScrollView或ListView方可解决此问题1,重写GridViewpublic class GridViewForScrollView_NoNetActivity extends GridView { public GridViewForScrollV原创 2017-09-18 10:01:57 · 1576 阅读 · 0 评论 -
也来玩玩反编译
刚刚反编译了一个APP,感觉没有想象中的那么难 1,以解压缩的方式打开apk文件,然后就可以看到图片资源之类的了,但是不能看xml,然后就需要打开xml了。下载AXMLPrinter2.S.jar这个东西,然后把需要解锁的xml和它放在一个目录,打开cmd命令,输入java -jar AXMLPrinter2.jar main.xml > main.txt。就可以查看xml文件了 2,查看代码,原创 2017-09-15 16:45:59 · 262 阅读 · 0 评论 -
自定义通知栏这样操作应该怎么搞?花式TextView操作在这里
构建通知栏private void sendNotification() { notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);//通知管理器 RemoteViews contentView = new RemoteViews(getPa原创 2017-09-14 15:55:08 · 409 阅读 · 0 评论 -
项目中有可能会用到随机数
项目中有可能会用到随机数,且作为唯一标识,不能重复,代码如下 private void Nodouble(){ HashSet<Integer> integerHashSet=new HashSet<Integer>(); Random random=new Random(); for (int i = 0; i <100000; i++) {原创 2017-08-24 15:22:37 · 263 阅读 · 0 评论 -
讯飞语音合成Wav,以及MediaPlayer的一些坑,SeekBar相关知识点
项目中遇到讯飞语音转成WAV,我是这样做的,首先生成.pcm文件,然后再.pcm与.wav互换,最终由MediaPlayer播放,还有进度条之类的小知识点 首先上布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" a原创 2017-08-29 17:54:27 · 2546 阅读 · 0 评论 -
wav文件拼接详细步骤
拼接工具类public class WavMergeUtil { public void mergeWav(List<File> inputs, File output) throws IOException { if (inputs.size() < 1) { return; } FileInputStream fi原创 2017-09-14 09:39:04 · 3729 阅读 · 1 评论 -
底部弹出按钮菜单升级版
只贴出关键代码 case R.id.myself_share: //我的分享 getShareMune();getShareMune()private void getShareMune() { final Dialog mdialog = new Dialog(getActivity(), R.style.photo_d原创 2017-08-15 11:01:54 · 349 阅读 · 0 评论 -
ScrollView与SeekBar绑定实现滑动时出现小滑块的效果
这是一项挺复杂的工作重写SeekBar重写ScroView主工程布局SeekBar样式修改绑定SeekBar和ScrollView 监听ScrollView的滑动状态1,重写SeekBarpublic class VerticalSeekbar extends SeekBar { public VerticalSeekbar(Context context) {原创 2017-09-26 15:12:15 · 935 阅读 · 0 评论 -
Dialog自定义上下文花式菜单
这是一个类似于QQ里面长按消息弹出菜单的效果,菜单跟着item动 闲话不说,上代码 先自定义一个Dialogimport android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.TextView;imp原创 2017-09-19 15:20:33 · 599 阅读 · 0 评论 -
阅读进度记忆功能实现
用户提了一个要求,要求保存他的阅读进度,然后在他下次阅读的时候可以继续阅读,然后动手实现了一下,是这样的。 我用的控件是WebViewpublic class WebViewClientEmb extends WebViewClient { // 在WebView中而不是系统默认浏览器中显示页面 @Override public boolean sho原创 2017-09-27 17:24:39 · 1311 阅读 · 0 评论 -
导入新项目无法运行的可能原因和大致思路
1,检查gradle,当前版本gradle与完整项目或ide工具不同。2,检查repositories仓库下的依赖配置有没有国内镜像能否请求到连接。3,检查defaultConfig下的一系列version是否配置正常。...原创 2019-03-25 10:23:48 · 591 阅读 · 0 评论 -
极光推送集成详细步骤
极光推送可以选择不同的方式,我选择了从官网下载对应文件,得到JPushExample.zip这样一个文件,解压缩后又会得到jpush-android-3文件,jpush-android-3文件第二层目录有一个example文件。把这个example文件以导入module的方式导入到项目,module项目的包名改为自己的项目名,AppKey填入开发者平台的值。然后就可以在平台操作推送内容了。欢迎交流...原创 2018-11-23 16:23:02 · 362 阅读 · 0 评论 -
沉浸式状态栏的实现
工具类一:public class SystemBarTintManager { static { if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.KITKAT) { try { Class c = Class.forName("android.os....原创 2018-11-16 14:14:56 · 187 阅读 · 0 评论 -
一键返回页面顶部的需求
用户又提了个需求,要求一键返回到阅读的顶端,于是自己实现了一下首先定义自己的WebView然后帖布局主代码MyWebViewpackage io.dcloud.H5B79C397.view;import android.content.Context;import android.util.AttributeSet;import android.webkit.WebView;/** *原创 2017-10-10 16:41:24 · 885 阅读 · 0 评论 -
动态切横竖屏
有个需要切横屏阅读的需求,很简单,就只有几行代码 mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, bo原创 2017-10-10 16:35:43 · 347 阅读 · 0 评论 -
Android数据库操作工具类
HistoryDAOpublic class HistoryDAO { private DBConnection dbc = null; private SQLiteDatabase db = null; private Context context; //数据库上下文 public HistoryDAO(Context context) {原创 2017-10-09 11:45:04 · 1286 阅读 · 0 评论 -
上下文菜单 + 复制粘贴的问题
最近项目中遇到需要有复制文本的功能,难点有一个,就是在listview中如何拿到item的内容,不多说上代码 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { AdapterView.AdapterContext原创 2017-08-24 12:01:28 · 682 阅读 · 0 评论 -
全局异常捕捉,以及一些小的知识点
这里有一个很厉害的操作,就是把程序里面的crash准确捕捉,然后打印,存在手机。需要的话也可以上传至服务器,这样的话我们的程序在上线之后,也能知道我们的程序出现了什么样的问题上代码public class CrashHandler implements Thread.UncaughtExceptionHandler { //文件夹目录 private static final Str原创 2017-09-20 08:53:01 · 379 阅读 · 0 评论 -
写了一个类似QQ的item侧滑效果,以待后用
首先自定义ListViewpublic class SwipeMenuListView extends ListView { private static final int TOUCH_STATE_NONE = 0; private static final int TOUCH_STATE_X = 1; private static final int TOUCH_STATE原创 2017-08-15 10:52:49 · 306 阅读 · 0 评论 -
经典WebView加载HTML布局示例
MainActivitypublic class ExpandableListViewActivity extends BaseFragmentActivity<Calcdata,L>implements View.OnClickListener { private WebView calc; private String Url ="88888888888888888";原创 2017-08-14 11:56:29 · 701 阅读 · 0 评论 -
搞一个底部缓慢弹出菜单
项目要求要做一个从底部缓慢弹出一个Button Menu 开始编码: MyselfFragmentpackage io.dcloud.H5B79C397.fragment;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Bundle;原创 2017-08-04 16:41:56 · 404 阅读 · 0 评论 -
玩转GridView
MainActivity:public class Main6Activity extends Activity {private GridView gridView; private String[]title=new String[]{"法律法规全库","裁判文书全库","指导性案例全库","法律文书全库","合同范本全库","法律工具库"}; private int[]ima原创 2017-07-04 11:48:57 · 252 阅读 · 0 评论 -
玩转Fragment。。。
OneFragmentpublic class OneFragment extends Fragment { private View view; private Context mContext; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,原创 2017-07-03 17:11:54 · 225 阅读 · 0 评论 -
ToggleButton样式的改变
toggle_selector.xml<selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_checked="true" android:drawable="@mipmap/togglebutton_on"></item><item android:drawable="@原创 2017-07-12 16:47:35 · 2355 阅读 · 0 评论 -
SharedPreferences简单使用案例
MainActivity:public class SharedPreferencesTestActivity extends Activity implements View.OnClickListener{ private EditText editText; private TextView textView; private Button write; pri原创 2017-07-12 15:04:46 · 443 阅读 · 0 评论 -
轮播图做法
做轮播图的方法转载 2017-06-10 20:46:46 · 389 阅读 · 0 评论 -
记牢希尔查询
希尔排序:void shellsort3(int a[], int n) { int i, j, gap; for (gap = n / 2; gap > 0; gap /= 2) for (i = gap; i < n; i++) for (j = i - gap; j >= 0 && a[j] > a[j + gap];原创 2017-04-20 16:44:47 · 519 阅读 · 0 评论 -
随机数组不重复
随机数组一定是随机的,但可不可以不重复呢?当然可以! 研究了好久! boolean[] bool = new boolean[fruits.length]; for(int i=0;i<fruits.length;i++) { int index; do { Random random = new Ra原创 2017-04-17 19:00:38 · 614 阅读 · 0 评论 -
蛋疼的时间计算
**蛋疼的时间计算**时间计算是一件挺蛋疼的事,首先年月日的天数是不确定的,要分N总情况,就不说了,时间本身不是数值型,不能参加计算更让人头疼,昨天搞得一个算法得记好了!` SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”); String date=sdf.format(new java.util.Date());原创 2017-04-19 07:14:30 · 310 阅读 · 0 评论 -
AutoScrollViewPager示例
MainActivity:public class Main6Activity extends Activity { private AutoScrollViewPager autoScrollViewPager; private ArrayList<View> viewArrayList; private GridviewAdapter adapter; priva原创 2017-07-04 15:32:42 · 347 阅读 · 0 评论 -
最详尽的DrawerLayout用法
MainActivity:public class Main7Activity extends Activity { private MyAdapter adapter; private ListView listView; private List<Use> mList = new ArrayList<Use>(); private Context mContext原创 2017-07-05 15:43:52 · 292 阅读 · 0 评论 -
超级吊的ExpandableListView三级目录
MainActivity:public class MainActivityTest extends Activity { private ExpandableListView expandableListView; private List<String>grounpList=new ArrayList<>(); private ParentExpandAdapter pa原创 2017-07-07 16:30:47 · 808 阅读 · 0 评论 -
最简便打开相册方法
这样打开相册 initPrediction(); Intent intent = new Intent(); /* 开启Pictures画面Type设定为image */ intent.setType("image/*"); /* 使用Intent.ACTION_GET_CONTENT这个Action */ intent.setAction(Intent.ACTION_GET_CON原创 2017-08-04 16:25:41 · 1106 阅读 · 0 评论 -
详解科大讯飞语音识别
公司的项目要用到一个语音识别所以就弄了一下,国内的科大讯飞的名气比较响一些所以就选用了科大讯飞,废话不多说直接开干 1,下载sdk,注册获取APPid,这都不废话,需要什么就下载什么2,把下载的东西放进工程中,重点1,注入依赖Msc.jar,Sunflower.jar.重点2,在Project标签下,在Main的目录下新建jniLibs目录,然后把下载到的所有so文件放在里面有好几个3,进行编码原创 2017-08-03 23:07:32 · 21607 阅读 · 2 评论 -
图片转换,字符串,字符串转换图片
imageview变成Bitmap对象 photo.buildDrawingCache();Bitmap bm = photo.getDrawingCache();Bitmap变成字符串aa=bitmapToBase64(bm);bitmapToBase64方法 public static String bitmapToBase64(Bitmap bitmap) { Strin原创 2017-08-02 17:51:43 · 1178 阅读 · 0 评论 -
网络请求的两种方法
1 1.要有自己的数据类,用于网络请求后返回值,名称需一样, 2.继承BaseFragmentActivity<数据类>,并且复写那几大方法, 3.用的最多的POST,GET方法在参数上有不同, 4.POST要用Map,而GET录用 5.大概就这么多RequestManager.requestData(Request.Method.POST,原创 2017-07-25 11:00:06 · 387 阅读 · 0 评论 -
跑马灯似的显示TextView其实很简单
来一个重绘public class AlwaysMarqueeTextView extends android.support.v7.widget.AppCompatTextView { public AlwaysMarqueeTextView(Context context) { super(context); } public AlwaysMarqueeTe原创 2017-07-19 13:42:49 · 406 阅读 · 0 评论 -
Sqllite增查数据经典写法
查 open=new HistoryDAO(this); dbHelper=new DBConnection(this); open.open(); SQLiteDatabase db =dbHelper.getWritableDatabase(); Cursor cursor = db.rawQuery("s原创 2017-07-18 11:43:30 · 291 阅读 · 0 评论