后台任务封装:在没有网络的时候也可以修改用户名、头像等操作 private void doOk() { String text = etName.getText().toString().trim
在fragment的使用中经常要使用getActivity获取依附的activity,但在某些情况下回返回null,如果不加处理可能会因空指针异常导致程序崩溃.所以建议每次使用getActivity方法都需检查一下.
地址 简书:http://www.jianshu.com/p/c10c08affa8f CSDN: http://blog.csdn.net/xiangyong_1521/article/details/51222418 ---- 概念 SharedPreferences:是android提供的一个轻量级的储存方式,当我们需要保存用户的某些settings值,需要轻量级的记忆操作等时使用! SharedPreferences的四种操作模式: Context.MODEPRIVATE:为默认操作模式,代表该文
Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况)。
本文实例讲述了Android开发之DialogFragment用法。分享给大家供大家参考,具体如下:
假设场景:登录、注册 MainActivity初始化和监听返回键 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mFragmentManager = getSupportFragmentManager();
这个类可以说是这个包的核心了,如果理解了这个 Service,录音这一块基本就没什么问题了。
Person-Black-Smartphone-Taking-Picture_jvmIAWueK9Vw.jpeg 短视频平台搭建,相机截取图片位置的相关代码 package com.example.liany; import java.io.File; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.graphics.
Model–View–Presenter (MVP) 源于 Model–View–Controller (MVC) 的结构设计模式,它是用于展示层(Presentation)的结构。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116040.html原文链接:https://javaforall.cn
BasePresenter(注:BasePresenter<IRequestCollectView,BaseActivity> 可以引入BaseActivity,这样可以在多个Activity中复用)
1. 四种界面: 加载中, 加载错误,加载为空 ,加载成功 2. 根据不同的状态去切换界面 HomeFragment public class HomeFragment extends Fragment { public static final int STATE_UNKOWN = 0; public static final int STATE_LOADING = 1; public static final int STATE_ERROR = 2; public static final
我写了一个activity,使用了actionbar. 在这个activity中,有fragment,默认先打开一个 homeFragment,点击某个按钮会进入 detailFragment.
最近的项目中要实现一个聊天的功能,类似于斗鱼TV的聊天室功能,与服务器端人商量后决定用WebSocket来做,但是在这之前我只知道Socket但是听都没有听过WebSocket,但是查看了相关的材料以后发现实现一个聊天室其实是很简单的!下面我们先来看看WebSocket。
在开发项目中有时会碰到getActivity函数为空的情况, 导致apk空指针崩溃问题, 看代码逻辑没有明显的原因。
1、app本身的功能比如录像,录音,更新都会产生文件,需要清理 2、app的默认缓存地址cache
我们知道在使用Android的通知的时候一定会用到NotificationManager 、 Notification这两个类,这两个类的作用分别是: NotificationManager : 是状态栏通知的管理类,负责发通知、清楚通知等。 Notification:状态栏通知对象,可以设置icon、文字、提示声音、振动等等参数。 这里需要声明一点,由于Android的系统升级,Android在通知这块也有很多老的东西被抛弃了,一个是api11的版本,一个是api16的版本。我们来比较下api11之前
首先物联网协议mqtt协议是基于tcp/ip协议的,使用了官方的mqttclient框架
摘抄博客 Unity3d Android SDK接入解析(一)Unity3d 与 Android之间的互相调用,一共四章,一定要看完
版权声明:本文为[他叫自己Mr.张]的原创文章,转载请注明出处,否则禁止转载。 https://micro.blog.csdn.net/article/details/51228934
intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包
项目结构挺大的电脑加载会很卡,导致第一次build大概半小时,尝试运行,能build success,但是服务器连接失败
在android开发中经常要访问网络,目前最流行的网络访问框架就是Okhttp了,然而我们在具体使用时,往往仍然需要二次封装。我使用Builder设计模式进行了封装形成oknet开源库。
根据异常的提示,我们可以确定问题应该是出在了Glide.with(context) 中的context 我们点到源码中看一下 Glide.with() 是怎么实现的。
打开相册选择图片裁剪:https://blog.csdn.net/Code_legend/article/details/77620359
悲剧就是把有价值的东西毁灭给人看。——鲁迅 其实原理就是一个list,使用AOP在创建时添加,销毁时移除 package com.ruben.utils; import android.app.Activity; import android.os.Build; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors;
httpClient // 网络访问请求 new Thread(new Runnable() { @Override public void run() { String url = "http://192.168.1.101:8080/ChatServer/register"; // 创建 httpClient HttpClient client = new DefaultHttpClient(); // 创建 post请求 HttpPost post = new HttpPost(ur
1:管理Fragment回退栈 Fragment中FragmentManager主要是用来创建一个事物FragmentTransaction, 然后通过FragmentTransaction这个事物就行Fragment界面的管理。 其中主要有replace add remove hide show detach attach commit等方法 而且这些方法都是由FragmentTransaction来执行的,而FragmentTransaction则是由FragmentManager中的beginTransaction()来创建的出来的 例如: Fragment fragment = new Fragment(); FragmentManager fm = getFragmentManager(); FragmentTransaction tx = fm.beginTransaction(); tx.add(R.id.id_content, fragment "one"); // tx.addToBackStack(null); tx.commit(); 从上面例子可以看出有个函数没有讲过,就是tx.addToBackStack(null); 这个addToBackStack(null)看名字就能看出它的大概功能就是加入返回栈。 通俗的来说就是类似于activity中的返回每个activity的功能。 例如我们创建很多的Fragment,此时当我们点击返回按钮时就会用到addToBackStack(null);如果在哪个Fragment中有加入addToBackStack(null)返回队列中就会在点击返回时显示出来,如果没有就不会。 2:Fragment与Activity通信 a、如果你Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法 b、如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作。 c、在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。 注:如果在Fragment中需要Context,可以通过调用getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity().getApplicationContext()。 e、Fragment与Activity通信的最佳实践
前几篇文章介绍的底部菜单栏、图片循环自动轮播都非常常用,底部菜单栏也很常用,底部菜单栏是iOS的主要风格,而Android的风格则偏向侧滑菜单栏。侧滑菜单栏也是很常用的,本篇为大家介绍下一个侧滑菜单栏
http://developer.android.com/training/basics/data-storage/index.html
1)在基类Activity重写onActivityResult方法通过识别ResultCode来调用finish方法
调用的是Activity的getLayoutInflater 这句代码原本是没有什么问题的,但是在Fragment中使用就有问题了。
其中BaseFragment.java是另外5个Fragment的基类,代码如下:
以上所述是小编给大家介绍的android 实现APP中改变头像图片的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
包anim//放在res目录下其中包括ppwindow_hide_anim.xml和ppwindow_show_anim.xml 其中ppwindow_hide_anim.xml
今天给大家介绍的XUpdate就是一个轻量级、高可用性的Android全量更新的框架。全量更新没有增量更新那么复杂的处理逻辑,核心内容无非以下三点:
1、mLayoutManager private void moveToPosition(int position) { if (position >= 0) { mLayoutManager.scrollToPositionWithOffset(3, 0); } } 2、LinearSmoothScroller mTopSmoothScroller = new TopSmoothScroller(getActivity()); priva
项目需求: 现有一个紫色背景图片, 相册图片覆盖在背景图片 , 一个Framlayout 覆盖在这个含有相册图片的背景图中 ,实现模糊盖在上面的高斯模拟效果:
功能要求 当用户点击fab的时候,屏幕上的其他区域应该是不可点击的,如果用户点击其他区域,那么就应该收缩fab回到初始状态。 观察一下其他应用: 发现实质点击按钮之后启动了新的frag
最近项目里有个广告位需要动态配置,后台给了一段 html 嵌套iframe标签的代码,需要Android拦截iframe内部的跳转,自己做处理。
比如广告播放,每个视频15秒,视频之间切换的时候,性能不太好的机器可能会黑屏一段时间,体验不太好,接下来我们就是要解决这个黑屏问题。
本文实例讲述了Android编程设置屏幕亮度的方法。分享给大家供大家参考,具体如下:
经常熬夜有三大害处:第一,记忆力越来越差;第二,数学水平下降;第四,记忆力越来越差。
本文实例为大家分享了Android实现系统打印的具体代码,供大家参考,具体内容如下
有各种各样的通知,不同情况使用不同的通知方式,使用户在体验上更佳,下面就讲一下四种常用的通知方式Notification、Dialog、Toast、Snackbar
现在的App基本上都会使用Native+H5的方式来开发的,例如网易新闻详情页面,微信公号详情页面都会使用WebView开发。这样可以很容易实现图文排版的需求,而且混合开发的好处也是显而易见的。
通常,activity.getActionBar()返回NullPointerException原因是当前的activity没有ActionBar。从以下几个方面着手:
1、调用系统的Intent.ACTION_ATTACH_DATA,该Intent会唤起所有的设置壁纸程序以及设置联系人头像程序,用户可以通过ChooseActivity进行选择:
因为viewpager的预加载机制,使得联网应用会多出内存以及网络的使用量,同时,在viewpager下使用高德地图,也会因此出现各种莫名其妙的问题,因此,需要使用懒加载的手段。 实现懒加载,只需继承fragment类然后重写与界面显示相关的方法即可。
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些数据),然后引入ListView控件,最后将数据和ListView绑定就好了。
领取专属 10元无门槛券
手把手带您无忧上云