- 浏览: 185350 次
- 性别:
- 来自: 浙江
最新评论
文章列表
2017年5月15日,博客迁移至简书:
地址如下:
http://www.jianshu.com/u/a09a7b5ce82b
使用第三方jar: autobahn-0.5.0.jar
连接代码如下:
public void connect() {
mWebSocketConnection = new WebSocketConnection();
try {
mWebSocketConnection.connect(Url.URL_WEB_SOCKET, new WebSocketHandler() {
@Override
public void onOpen() {
...
java对于集合的自定义排序方法有:
Arrays.sort(T[],Comparator<? super T> c);
Collections.sort(List<T> list,Comparator<? super T> c);
这里记录下对Comparator的自己理解。
Demo代码如下:
1.实体类代码:
class SortObj {
String letter;
int num;
public SortObj(String letter, int num) {
t ...
查看Android虚拟机文件相关命令
- 博客分类:
- android
我们在虚拟机下添加文件后,想查看下文件是否正确创建,可在windows的cmd或是AS的Terminal窗口下查看,步骤如下 :
首先进入Android虚拟机:
adb shell
进入sd卡:
cd sdcard
接下来是寻找过程:
ls 为列出文件目录
cd 为进入文件目录
cat 为查看文件内容
上面命令都为linux命令,如需查看更多命令,可查看linux相关知识。
android6.0创建文件问题
- 博客分类:
- android
Android在6.0有了动态权限管理,在文件创建时就需要动态权限。
Android的API对应版本如下:
首先检查并申请权限:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
int writePermission = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
if(writePermission != PackageManager.PERMISSION_GRANTED){
...
xutils的http模块的简单使用
- 博客分类:
- android
先导入xutils相关依赖:
compile 'org.xutils:xutils:3.5.0'
添加权限设置:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在清单文件中加入application,在自己的Application中添加初始化设置:
@Override
public void ...
Litepal的简单使用
- 博客分类:
- android
相关包下载地址:https://github.com/LitePalFramework/LitePal/tree/master/downloads
导入jar包,在assets下添加litepal.xml文件,litepal文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="demo" ></dbname>
<version value="1" > ...
Android下拉刷新上拉加载控件的使用
- 博客分类:
- android
参考链接:http://www.jianshu.com/p/699e2662fc27
刷新控件:in.srain.cube.views.ptr.PtrFrameLayout 和com.chanven.lib.cptr.PtrClassicFrameLayout
导包:
compile 'in.srain.cube:ultra-ptr:1.0.11'
compile 'com.chanven.lib:cptr:1.0.0'
使用Xml文件:
<?xml version="1.0" encoding="utf-8"?>
<Linea ...
Android的Service总结
- 博客分类:
- android
参考链接:http://www.cnblogs.com/lwbqqyumidi/p/4181185.html
Android上经常会碰到Service,用到的都比较零散,今天比较全面的了解了下。
Service也是组件之一,如需使用,需要在清单文件中注册。代码如下:
<service
android:exported=["true" | "false"]
android:icon="drawable resource"
android:name="string"
...
今天在使用ViewPager的时候发现个问题。
需求如下:
在ViewPager底下放入6个Fragment,每次移动ViewPager的时候更新里面的数据。
需求很简单。
我把每次刷新事件放入Fragment初始化中,发现ViewPager有个预缓存功能,至少会加载周边的一个Fragment。当滑动到周边的时候,会发现Fragment中数据没有变化。
我看了下Viewpager源码,v4包下的Viewpager至少加载周边一个Fragment,此值无法修改。
如继承Viewpager创建新控件,发现还是无法修改DEFAULT_OFFSCREEN_PAGES的作用。
如重新实现View ...
clone方法的使用
- 博客分类:
- android
由于Java有引用这一说,当两个变量指向同一块内存时,改变其中的一个变量值,则也会更改另外一个变量。如我们需要同时拥有两个内容相同,且独立的变量,则需要重新实例化这两个变量。
对于部分基本类已经实现clone方法,如ArrayList等。但还有些类未实现,如果我们自定义了一个类,也想调用clone方法,则需要实现Cloneable接口。代码如下:
public class A implements Cloneable {
public String str;
public Object clone() {
A o = null;
...
Fragment无法切换问题
- 博客分类:
- android
Android有一个回收机制,当内存不足时,会自动回收相关内存。
我们使用FragmentActivity放入Fragment的方法实现app的导航功能。
oncreate方法中,初始化Fragment数组,代码如下:
private void initFragmentTab() {
HomeFragment homeFragment = new HomeFragment();
StyleFragment styleFragment = new StyleFragment();
ShopFragment shopFragment = new S ...
最近了解了下CollapsingToolbarLayout的使用。
xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
x ...
以前我写代码都是使用MVC模式,这种模式使Activity变得很笨重。今天学习了下MVP模式,虽然这已经不是新模式了,但自己学习的还是挺新鲜的。
MVP框架展示:
View层由Activity提供;
Presenter提供纽带,交互数据;
Model处理数据,包括数据的存储,修改等。
下面是一个关于MVP的Demo:
首先是项目的文件目录:
MainActivity实现IUserView接口,IUserView的方法主要是对View层的数据更新,从View层提取数据。
UserModel实现IUserModel接口,主要是对数据的保存、修改等操作。
UserPresenter实 ...