自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 问答 (1)
  • 收藏
  • 关注

原创 targetSdkVersion升到31后,编译提示需要android:exported

最近要上架google,要求编译版本最低是30。我想着那就一步到位弄到31吧。结果报错/Users/erone/项目/xxx For Google/app/src/main/AndroidManifest.xml Error: android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify a..

2022-02-08 17:18:59 3761 1

原创 windows下如何把flutter项目打包成安装包

开发的前置工作我们不提了,网上有很多教程。这里到最后一步,执行flutter build windows后,项目目录/build/windows/runner/Release文件夹下会有几个文件生成,我们就用这几个文件来生成windows安装包。第一步 下载Inno SetupInno Setup Downloads (jrsoftware.org)网上有很多Inno Setup教程,这里说一下我的用法。第二步 打开Inno ...

2022-01-26 11:09:21 3473

原创 VerticalGridView按行滑动(顶部滑出)

众所周知,VerticalGridView如果不做设置,默认顶部和底部是会留下距离的,让获焦的行在中间。如何每次滑动一行,把上面的内容顶出屏幕呢?简单几行设置。 this.mList.setWindowAlignment(BaseGridView.WINDOW_ALIGN_LOW_EDGE); this.mList.setWindowAlignmentOffset(0); this.mList.setWindowAlignmentOffsetPercent(0f); this.mList.s

2021-06-23 23:59:04 1046

原创 Flutter中更新listview的UI出现的问题

背景:我有一个显示一天节目的listivew,用户点击节目表的下载icon可以下载,并在该位置实时更新下载进度出现的错误:比如今天是2号,我下载了2号的第一个节目的视频。当我用1号,31号,30号或3号,4号,5号的节目更新listivew时,第一个节目会显示跟2号第一个节目一样的下载状态,但是我明明没有下载。考虑的原因:1.首先考虑的是回调的解绑是不是不及时。我在listview的item(每一个item都是一个statefulwidget)的initstate中向DownloadManage

2020-08-14 20:35:16 631

原创 Retrofit(okhttp3)遇到java.io.IOException: unexpected end of stream on Connection

有人说加Connection close或者加retryOnFailed(true),我都没有解决。我用的是这个方法解决了issus/3590因为responseHeader里有一个gzip,我们在requestHeader里加入builder.header("Accept-Encoding", "identity");就可以了...

2019-05-20 10:51:03 5459 1

原创 Mac上反编译apk

1,github上搜apktool, 下载地址,按照说明可以生成 apktool.jar和apktool(不带扩展名)两个文件2,配置环境变量jdk,jre(一般android都已经配置) 3,新建文件,命名apktool 4,将apktool,apktool.jar,appt和要反编译的apk同时拷贝到该文件夹下 5,输入java -jar apktool.jar d xxxx.apk ...

2018-09-20 23:09:56 757

原创 Android Architecture(安卓架构)的一些研究

    最近在看Github上的一个叫Android Architecture的项目,里面包含几个小项目。项目用不同的架构来完成同一个功能。我挑些里面没见过的写法做下总结,规范一下自己的代码。    1.Fragment的创建    Fragment的创建要在Fragment里面创建一个newInstance的方法,像: public static TasksFragment ...

2018-07-17 17:43:32 344

原创 JS中的extend

有这样的调用关系,这是使用的代码$('#btn').staFilter({    selectEvent : function( startDate, endDate ){        sDate = startDate; eDate = endDate;    },    initEvent : function( startDate, endDate) {     sDat...

2018-06-15 16:47:21 5068

原创 关于RecyclerView的报错 Inconsistency detected. Invalid view holder adapter positionViewHolder

这是由于对数据源list的操作和对notify操作并没有顺序发生导致的。也就是说在移除list中的数据后,并没有紧接着告知adapter有数据已经移除,就会导致后面操作的报错。解决方法是,在list做完remove或者add操作后,紧跟着notifyItemInserted(notifyItemRangeInserted)或notifyDataSetChanged如何保证呢,就是要让他们在同一线程...

2018-06-04 16:47:56 13436 2

原创 用Glide扩展图片加载,使其支持阿里云的OSS访问

公司有款产品使用了阿里云的服务。在之前的版本中,手机明文持有Key,拿到Key后可以进行上传操作。上传结束将返回的url(http开头)上传给服务器,服务器进行保存。 这本来是个正常的逻辑,但是在后面我们遇到了搞鬼的,他拿到了Key并且开始上传黄色图片。这时我们需要进行方案二,用户不持有key,登陆之后才能从服务器拿到key,并且key是有有效期限的,需要...

2018-05-29 16:25:23 3032 10

原创 关于Kotlin踩过的一些坑

关于变量声明首先我们可以声明成员变量var mediaPlayer: MediaPlayer但是这时AS会提示错误,必须初始化或者声明为lateinit初始化不用说我们肯定会声明为var mediaPlayer: MediaPlayer? = null后面使用的时候就会用mediaPlayer?.start()或者mediaPlayer!!.start()据我理解,前者是安全的,调用的时候不会报错...

2018-05-11 15:57:43 719 1

原创 Android Studio 3.0 没有 Analysis Results(Leaked Activities)

在Android Profiler中点击白圈按钮保存后缀名为.hprof的文件,再用AS打开即有Analysis Results选项答案来自StackOverFlow @Shanki Bansal

2018-05-08 11:44:23 2091 2

原创 Kotlin下的MVVM

一:配置DataBinding    主模块的build.gradle    apply plugin: 'kotlin-android'apply plugin: 'kotlin-kapt'apply plugin: 'kotlin-android-extensions'android {    ... dataBinding { enabled = true ...

2018-04-23 11:05:13 1004

原创 关于前端的那些事

1.Jquery的Ajax不能实现文件下载。这个问题困扰了我半天。用了好几个方法,换contentType等header,用各种outputstream inputstream都无法形成文件,只能在请求里看到有文件的大小。下面是解答:JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下...

2018-04-05 16:35:35 202

原创 用eclipse从1开始配置一个maven java项目

1.项目名称2.写了很多个module,包括xxx-admin-webapp,xxx-controller,xxx-dao,xxx-domain,xxx-service,xxx-utils,其中webapp模块的packaging为war,其他的均为jar3.从前面的项目拷贝类到新项目上,首先是utils里的类。然后是service。这里遇到了一个问题,service无法直接引用utils里的类。...

2018-03-19 10:19:41 215

原创 Android OOM遇见的一些问题

临近项目结尾,遇见过的OOM的问题与大家分享。大概遇见的情况就是,打开所有页面再关闭,内存并不回收。情况1:自定义的页面管理器没有remove掉已经结束的activity我在应用中创建了一个页面管理器,里面有个list装载所有的activity,方便管理页面开关。然而在finish的时候忘记remove finished activity,导致内存不断上涨。情况2:Handle

2017-07-13 14:34:49 186

原创 Android Studio卡在refreshing gradle project的原因和快速解决办法

gradle-wrapper.properties最后一行表示当前工程gradle的版本,如果Android Studio发现gradle的缓存目录里没有这个版本,这个时候就会触发refreshing gradle project,而一个gradle包的大小一般在70M以上,开了VPN需要半个小时以上才能缓存下来,不开的话基本会卡死在那里,下载不了。知道问题就好解决了,首先打开你的gradle缓存

2017-07-05 11:41:08 325

原创 Android Studio制作.9.png

流程:1.把png图片重命名为.9.png2.复制图片到drawable里3.在AS中打开图片,就可以出现编辑界面,此时可以上下左右拖动显示或放大的范围.4.编辑后要在三个分辨率下都放置此图片,不然显示会有误。

2017-02-09 11:53:31 610

原创 关于自定义view的一些问题

最近遇到了较为棘手的重写view的问题。首先是写构造方法。按照原生的写法是单参数构造方法调用自己的双参数构造方法,双参数构造方法调用自己的三个参数的构造方法,而不能使用像编译器推荐的那样只调用父类的构造方法。按照原生view的写法初始化只需在三个参数的构造方法中完成即可,而不用每个构造方法都写一遍。关于属性的声明。我们可以在attrs.xml中定义一些我们需要的属性,用定义。如果集中起来可以形

2017-01-19 19:01:46 358

原创 Android中的SQLiteDatabase,ContentProvider和ContentResolver

阔别蛮久,重回博客积累自己。关于Transaction,查阅其他人的讲解说是这样的:默认是不用手动设置,当有大量数据操作时需要手动设置:如xxxx操作为5000条数据处理SQLiteDatabase db = dbOpenHelper.getWritableDatabase();//开启事务db.beginTransaction();try{ //批量处理

2017-01-06 12:07:41 530

转载 将so库打包进apk,仍然报Couldn't load XXX from loader dalvik.system.PathClassLoader

原创链接:http://blog.csdn.net/zhao_3546/article/details/16819609之前实现了一个号码分析的APK,让第三方应用通过AIDL调用来分析号码。正常情况下,都是通过手动安装此APK来实现部署的,但今天有个兄弟直接将此APK放到 /system/app/ 目录下,第三方应用一调用这个APK的AIDL,就报了下面的异常

2016-10-27 17:17:18 2115

原创 MediaPlayer播放网络资源

MediaPlayer的状态码enum media_player_states {    MEDIA_PLAYER_STATE_ERROR              = 0,    MEDIA_PLAYER_IDLE                             = 1     MEDIA_PLAYER_INITIALIZED                 = 1

2015-11-27 14:33:40 574

原创 在Fragment中使用viewPager嵌套Fragment遇到的问题(双侧viewpager)

在一个项目中遇到了这样的问题:两侧viewpager,第一层viewpager左右滑动fragment正常运行,activity调用其方法fragments.get(currentPage).xxx()也可以正常运行(我将创建的fragment保存在一个List中,需要调用其方法直接使用上面的代码)。但是当第一层的fragment执行onDestroyView()后(也就是滑过两页),再滑回到之前的

2015-07-16 11:40:04 1047

转载 给surfaceview设置默认背景

最近搞视频通话,SurfaceView是必不可少的,由于启动视频要加载一些资源,比较耗时,会有1.2s黑屏的现象,为了改善用户体验,我们需要设置Activity的Theme为透明风格(QQ 也是如此),下面是我截取的日志,QQ和我们启动视频通话界面(Activity)所花费的时间:Displayed com.xxx.xxx/.activity.voip.CallVoipVideoActivit

2015-06-11 20:20:46 17540

原创 消除android lint problem

Handler写法static class MyHandler extends Handler { private final WeakReference mActivity; public MyHandler(MyActivity activity) { mActivity = new WeakReference(activity); } @Overr

2015-05-23 15:10:19 682

原创 eclipse出现的闪退

删除文件[workspace]/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

2015-04-22 15:49:54 370

原创 自定义view

自定义view中可以通过onMeasure拿到定义的尺寸 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub width = measureDimension(220, widthMeasureSpec

2015-04-22 14:07:57 352

原创 利用RingToneManager设置手机铃声(多选)

//需要传入一个文件路径(path),和context public static void setMyRingtone(Context context, String path) {File sdfile = new File(path);String ab_path = sdfile.getAbsolutePath();ContentValues values = new

2015-02-04 18:41:10 1655

原创 Android v7包导入关闭后再打开build path报错

这是因为没有把项目copy到工作空间

2015-02-02 11:17:17 442

原创 android平台 使用Talarik Platform给项目添加登陆注册云端保存功能

首先下载androidsdk,下载链接不是很稳定,我下载的是GITHUB上的example,example里有library叫AndroidSDK.jar(这名字太直接了)。在自定义的application类中用单例初始化public static EverliveApp myApp = null;public static synchronized EverliveApp getEve

2015-01-29 18:37:24 675

原创 android使用远程服务要实现的Parcelable和相应的aidl文件

如果在项目中用到aidl,而aidl中的对象类型又用到了自定义的对象等不适java中的类型(可能不一定非要是java中的类型,反正就是aidl不接受的类型)就会报错解决办法是让这个类型实现Parcelable具体用法在下方。说一下使用aidl用这个对象的注意事项:1.aidl文件要import对象所在的包package com.xxxx.xxxx.download;imp

2015-01-29 11:24:12 556

原创 Youtube api 3.0用法

youtube api无法得到一个频道的所有视频,用playlistitems得到一个播放列表的snippet后还要逐个请求每个视频的时长,用videos方法

2015-01-29 11:08:24 5509

原创 Didn't find class xxxx on path: DexPathList错误的解决办法

1.删除bin再编译调试2.项目Properties>Java Build Path>Order and export,调整library顺序,把其他library都提前试试

2015-01-22 10:14:42 15832

原创 把字符串中的+号变成空格,过滤需要做文件名的字符串

刚开始做一个项目,文件名是在header里的,我是从请求的url里(字符串)分离出文件名的。例如&title=Calvin+Klein+Ad+-+Saturday+Night+Live,得到的url里有这样一个字段。于是我用笨方法写了一个工具方法。public static String getFileNameFromUrl(String url) { if (url.startsW

2015-01-21 09:19:37 580

原创 关于android解析https网址信息

之前在做一个app,里面的网址信息都是https开头的,普通http方式无法解析Android Https详细请求全方案实现,包括HttpUrlConnection及HttpClient方式实现指定证书及信任所有的实现,不多说了,以下代码都经过详细测试,可以直接使用。    package com.example.httpstest;import java.io.Buffere

2015-01-20 16:53:43 1119

原创 Android切换Fragment保持状态

private void loadFragmentView() { // TODO Auto-generated method stub fTransaction = manager.beginTransaction(); if (manager.getFragments() == null || !manager.getFragments().contains( f

2015-01-20 16:26:34 1206

原创 Android使用ProGuard进行代码混淆

使用proguard工具进行代码优化和混淆, 以下是参考链接:http://developer.android.com/tools/help/proguard.htmlhttps://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/intro

2015-01-20 16:07:37 485

原创 Android添加Flurry统计

将FlurryAnalytics-5.0.0.jar添加到工程的build_path中(注意一定要build path);声明权限:android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE初始化flurry统计:*在Application的OnCreate方法中添加:FlurryAgent.setL

2015-01-20 15:57:45 704

原创 百度媒体云播放器用法

首先要有AK和SK要对控制器写操作的话,就像API上写的,跟android自带的mediaplayer很类似。切换播放首先要mVV.stopPlayback();,之后对stopPlayback()设置一个监听 mVV.setOnCompletionListener(new OnCompletionListener() { @Override public vo

2015-01-20 15:49:15 1623

转载 AsyncTask的doInBackground不执行

AsyncTask的介绍及基本使用方法关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复。AsyncTask引发的一个问题上周遇到了一个极其诡异的问题,一个小功能从网络上下载一个图片,然后放到ImageView中,是用AsyncTask来实现的,本身逻辑也很简单,仅是在doInBackground中用HT

2015-01-20 14:34:00 1132

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除