给ImageView 添加阴影的两种方式 1.通过设置背景图 background <ImageView android:id="@+id/img_cover" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@...
Recycleview中的Glide刷新时图片闪烁 刷新item的时候发现Glide加载的图片会闪一下,解决方法,去掉recycleview的加载动画。/* * 关闭默认局部刷新动画 ,this代表recycleview*/public void closeDefaultAnimator() {this.getItemAnimator().setAddDuration(0);this.getItemAnimator().setChangeDuration(0);this.getItemAnimator().setMoveDuration(
为了规避handler内存泄漏,可以这样写 转载:Android 开发过程中的坑和小技巧 | Johnny Shiehpublic class SampleActivity extends Activity {/*** Instances of static inner classes do not hold an implicit* reference to their outer class.*/private static class MyHandler extends Handler {private fi
友盟推送测试 1.获取deviceToken 2.添加测试设备 3.添加测试消息并发送. 4.查看消息是否发送成功1.获取deviceToken 通过友盟的回调,拿到设备的deviceToken,每次安装APP生成一个deviceToken,若卸载,则会生成一个新的deviceToken。2.添加测试设备去友盟后台添加测试设备3.添加测试消息并发送(1)测试模式---》测试消息--》新建消息---》添加推送数据添加刚才的deviceToken(2)配置离线处理和开...
关于友盟推送 1.友盟的deviceToken,作为测试设备的时候,每安装一次app都会生成一个新的deviceToken,所以包卸载安装后,再重新安装APP的话,deviceToken需要重新获取。2.集成厂商参考的文章(246条消息) 友盟推送(U-Push)集成、踩坑和解决与阿里云系列产品的依赖冲突_weitao_666的博客-CSDN博客3.如何检验厂商通道是否集成成功?转载:开发者中心 (umeng.com)众所周知,集成厂商通道可以提升消息到达率,所以今天来详细讲解一下集成后如何检验是
自动轮播和手动滑动的处理 自动轮播的时候, 是通过线程 不停的发送消息,如果手动干扰的话, 需要调用 停止轮播,在触摸方法中。 //给imageView设置触摸的监听事件 imageView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { ...
如何判断上下文是否为null public boolean isDestroy(Activity mActivity) { if (mActivity == null || mActivity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && mActivity.isDestroyed())) { return true; } else {...
友盟的9.4.0版本以上的集成测试 首先找到友盟中的配置,生成属于你app的二维码:然后根据友盟中的文档,配置数据,然后扫码走流程:文档见:开发者中心 (umeng.com)1 Android应用1、需集成9.4.0及以上版本的Android SDK2、配置URL Schemes新版集成测试需要在manifest.xml文件中配置,您需要在其中找到响应android.intent.action.MAIN的activity(也就是应用可以被外部唤起的第一个Activity),加上如下代码,让应用能被指定连接sch
系统时间格式改变时的监听 转载:https://www.jb51.net/article/82883.htm监听手机设置页面中,时间格式的改变,由12小时切换成24小时。 通过监听Uri是否改变,/** * 时间格式监听 */public class TimeFormatObserver extends ContentObserver { Context mContext; public TimeFormatObserver(Handler handler, Context mContext)
TextClock 格式控制统一 下面所有的地方都用了format12Hour和format24Hour是为了忽略系统时间格式,不管系统是12小时制还是24小时制,都能正常显示时间转载:Android TextClock时间格式 - 简书TextClock 这个控件的使用.动态代码:if (!TextUtils.isEmpty(strTimeFormat) && strTimeFormat.equals("24")) { views.setCharSequence(R.id.textc.
TextClock不管是24小时还是12小时都显示24小时时间 在 RemoteViews 布局中设置 textClock的格式//使用 setCharSequence方法views.setCharSequence(R.id.tv_times, "setFormat24Hour", "HH:mm");ContentResolver cv = context.getContentResolver();String strTimeFormat = android.provider.Settings.System.getString(cv, an.
关于混淆,指定包名下的混淆 -keep class cn.hadcn.test.**-keep class cn.hadcn.test.*一颗星表示只是保持该包下的类名,而子包下的类名还是会被混淆;两颗星表示把本包和所含子包下的类名都保持;作者:CPPAlien链接:https://www.jianshu.com/p/7436a1a32891来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...
viewpager的高度自适应fragment的高度 如果不处理的话,viewpager是统一的高度,fragment的底部会空白一段距离,处理之后,viewpager的高度跟随fragment保持一致。首先是viewpager/** * 自适应高度的 viewpager */public class WrapContentHeightViewPager extends ViewPager { private int current; private int height = 0; private boolean s
关于友盟通知数据接收情况 关于接收的消息是离线还是在线,在哪里处理对应的数据1.app打开在前台,此时发送通知 收到通知,会调用重写的回调方法getNotification://消息到达时获取自定义参数UmengMessageHandler messageHandler = new UmengMessageHandler() { @Override public Notification getNotification(Context context, UMessage uMessage) {
android中如何判断网络已经连接,但是网络不可用情况 String url = "http://wwww.baidu.com";OkHttpClient okHttpClient = new OkHttpClient();final Request request = new Request.Builder() .url(url) .get()//默认就是GET请求,可以不写 .build();Call call = okHttpClient.newCall(request);call.enqueue(.
友盟的Common的包下载失败,报错Forbidden Could not GET 'https://dl.bintray.com/umsdk/release/com/umeng/umsdk/common/9.3.8/common-9.3.8.jar'. Received status code 403 from server: Forbidden Disable Gradle 'offline mode' and sync project
友盟微信分享 1.微信分享必须的回调页WXEntryActivity 新建一个名为WXEntryActivity的activity继承WXCallbackActivity。这里注意一定是包名路径下2.微信的注册<!--友盟start--><provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider"