- 博客(60)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 v2ex一个简单易懂的微信小程序练手项目
由标题所示,这个v2ex小程序是我根据客户端改造而成,当然并不是完完全全地根据v2ex的客户端进行改造的,其中客户端有些功能也暂时还没有移植过来,不过作为一个练手的项目,个人觉得还是蛮不错的,不多说了,这个v2ex小程序主要实现的界面如下所示:首页热门主题:首页最新主题:首页所有节点:主题详情页:节点详情页:用户主页:在以上所实现的页面中都添加了
2017-01-14 18:01:04
4025
1
原创 Android如何通过TextView实现超链接的跳转
前段时间在开发群里看到有人问android的TextView该如何自定义超链接的跳转,如:有字符串“使用该软件,即表示您同意该软件的使用条款和隐私政策”,现希望当点击“使用条款”或“隐私政策”时可以跳转到相应的说明页面,我还记得当时有一大堆人在讨论然后提了一大堆的方法,比如:用多个TextView组合,给相应的TextView添加点击事件、给TextView添加autoLink属性、通过给相应的内
2016-09-02 20:26:27
37591
5
原创 Activity启动模式及Intent的Flag属性对Intent传值的影响
前些时候在支援公司其它部门项目开发的时候,有同事问我:通过Intent在Activity之间进行数据传递,传递的Key和获取的Key都没错,为什么在目标Activity会获取不到传递过来的数据?在Key没错的情况下获取不到数据,那么无疑是Activity的启动模式及在跳转时给Intent设置的Flag属性引起的,于是乎有了今天这篇博客。原因一:Activity的启动模式那么Activity
2016-08-27 13:58:33
9344
2
原创 Activity启动模式详解
众所周知,android给我们提供了standard、singleTop、singleTask、singleInstance 4种Activity的启动模式,其中:standard:标准模式,即默认启动模式;singleTop:顶单例模式,即要求实例处于栈顶;singleTask:内单例模式,即要求栈中只有一个实例;singleInstance:全局单例模式;接下来将会对以
2016-08-21 18:10:54
1917
原创 android实现ListView或GridView中item的倒数功能
有时在开发中可能会遇到当未到某个时间时需要让ListView或GridView中的相应item进行倒数的需求,此时,如果还是按照常见的ListView或GridView的Adapter的写法+计时功能来实现的话,则当滚动ListView或GridView的时候,item就可能会出现复用问题(即不需要进行倒数或当前item的倒数已经结束了,却还会出现倒数的现象),因此,为了解决这种问题,需要进行倒数
2016-05-06 22:23:24
2645
2
原创 完美解决ListView和CheckBox焦点冲突及复用时CheckBox错位等一系列问题
完美解决了ListView和CheckBox焦点冲突及复用时CheckBox错位等一系列问题,讲解了如何在ListView下拉刷新和上拉加载时保存CheckBox的选中状态并且实现了对CheckBox 的全选、反选及删除功能
2015-11-01 21:17:38
10566
6
原创 andriod之PopupWindow详解二
上一篇中,简单讲解了PopupWindow的简单使用,如果还有人还没看的,可以先去看看上一篇android之PopupWinow详解一。在很多时候android给我们提供的PopupWindow的这些方法和样式并不能满足我们实际开发的需要,就比如如果我们想从底部弹出一个对话框或者菜单什么的来供用户选择,同时点击PopupWindow外的区域时弹出窗口隐藏和PopupWindow弹出时,剩余
2015-05-16 12:51:06
1030
原创 android之PopupWindow详解一
Android对话框Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:1)AlertDialog的位置固定,而PopupWindow的位置可以随意2)AlertDialog是非阻塞线程,而PopupWindow是阻塞线程。PopupWindow简介PopupWindow的位置按照有无偏移,可以分为有偏移和无偏移;按照参照物的不同可以
2015-05-16 12:28:56
1388
原创 Android开源框架之androidannotations
Android开源框架之androidannotationsAndroid Annotations是一个开源的框架,用于加速android应用的开发,可以使开发者把注意力都集中在功能模块的实现上,简化了代码,提升了可维护性。如果开发者想使用Android Annotations,可以在https://github.com/excilys/androidannotations这个网址上下载,
2015-04-06 19:52:32
1008
原创 Android开源框架之SlidingMenu详解
为了实现侧滑菜单,此时需要将所创建项目工程里生成的MainActivity的父类Activity改为SlidingFragmentActivity,同时需要将onCreate()方法的protected权限修改为public,同时在此Activity中可以为SlidingMenu侧滑菜单定义一些属性,具体代码如下所示:package com.zjh.news.activities;impo
2015-04-04 22:16:08
911
原创 如何引用第三方开源框架
最近一段时间为了准备面试,都在研究一些第三方开源框架的使用方法,因此在网上搜了一大堆的各种各样的使用方法,但是却没有发现一种比较通俗易懂的,于是乎在网上提供的各种各样的方法中,总结了如下这么一种使用方法,当然我这样做的目的一方面是为了像我这样一直苦苦寻找的广大读者提供一个方便,另一方面是为了以后供自己参考使用。俗话说:“工欲善其事,必先利其器”,使用SlidingMenu侧滑菜单也不例外。
2015-04-02 18:14:05
2480
原创 android自定义之可滚动的TextView
最近在看黑马的手机安全卫士的视频教程时,看到了自定义可滚动的TextView,因此就想自己把方法步骤记下来,一方面是希望可以为广大读者提供一个参考,另一方面也方便自己日后复习。在android当中,如果想要使文字显示出一种跑马灯效果的话,此时就应该自己定义一个继承自TextView的类,然后实现TextView类三个未实现的方法,并且重写isFocused()方法,并将此结果的返回值设置为tr
2015-04-02 12:00:21
1878
原创 android之Intent传递复杂数据时的注意事项
使用Intent传递复杂数据时的注意事项:一 序列化原因:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。 二 选取的原则:1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类。2.Serializable在序列化的时候会产生大量的临时变
2014-07-22 18:47:03
1115
原创 android之Intent复杂数据的传递(ArrayList<Object>类型的数据)
三、传递ArrayList传递ArrayList的方法1)首先在新建的项目工程里建立一个实现了Serializable接口的PersonInfo实体类,然后在其中添加若干属性并生成相应的set、get方法,具体代码如下:package zjh.android.bean; import java.io.Serializable; @SuppressWarn
2014-07-22 18:42:46
1921
原创 android之Intent复杂数据的传递二(Object类型的数据)
使用Parcelable方式前提:Object需要实现Parcelable接口用Parcelable方式传递Object的语法:bundle.putParcelable(key,object);用Parcelable方式接收Object的语法:object=(Object) getIntent().getParcelableExtra(key);实现Parcelable接口的类比较
2014-07-22 18:03:24
1321
原创 android之Intent复杂数据的传递一(Object类型的数据)
使用Serializable方式 前提:Object需要实现Serializable接口Serializable方式传递Object的语法:bundle.putSerializable(key,object);用Serializable方式接收Object的语法:object=(Object) getIntent().getSerializableExtra(key);实现Ser
2014-07-21 23:31:15
2897
原创 android之Intent复杂数据的传递(ArrayList<String>类型的数据)
传递ArrayList传递ArrayList类型数据的方法1)在创建的项目工程里面创建一个用来发送数据的SendActivity类,具体代码如下:package zjh.android.lx; import java.util.ArrayList; import android.app.Activity;import android.content.
2014-07-21 17:53:30
3824
原创 兼容手机和平板的Fragment
手机上使用时效果图如下: 平板上使用时的效果图如下:具体实现步骤如下1)、新建一个项目工程,然后在其下的res目录下新建一个layout-large文件夹,然后在此文件夹下创建一个与主布局文件名字相同的布局文件,该布局文件用于当android检测到使用的设备是平板时加载。代码如下: x
2014-05-22 10:27:36
1019
原创 android之ViewFlipper详解二
案例二:静态加载1)、首先在res/layout文件夹里面不回4个用来在activity_main.xml布局文件中被静态加载的page1.xml、page2.xml、page3.xml、page4.xml,其代码分别如下: android:layout_width="match_parent" android:layout_height="matc
2014-05-19 22:42:13
994
原创 android之ViewFlipper详解一
基本介绍ViewFlipper控件,是ImageView的容器,用于添加显示的图片资源,主要功能有两个:添加显示View和自动播放View。通过实现父类android.view.ViewGroup的addView(View child , ViewGroup.LayoutParams params)添加View资源,即图片和填充样式。启动自动播放View启动自动播放View,可以通
2014-05-19 22:28:27
1594
原创 struts2常用标签库之AJAX标签
五、AJAX标签记得在中加上标签,标签 用来下载Dojo文件和相应的Javascript代码1)标签标签可以异步定时加载刷新数据。 用于显示异步加载的数据 --> "msg"> "message"/> 定时5s加载test2.action中的message属性值,并刷新id=“msg”的div标签--> "500
2014-05-18 23:19:17
1295
原创 struts2常用标签库之非表单标签
四、HTML非表单标签1)标签actionerror标签用于输出存储在ActionError中的值。Action类中添加actionerror信息:addActionError("出错了!");2)标签actionmessage标签用于输出存储在ActionMessage中的值。Action类中添加actionmessage信息:addActionMessage("
2014-05-18 23:17:00
1413
原创 struts2常用标签库之表单标签
三、HTML表单标签1)表单标签" " method="post" enctype="multipart/form-data" namespace="/test1"> "姓名" name="username" tooltip="Enter your Name here" /> "密码" name="password" /> "备注" name="r
2014-05-18 23:16:04
1614
原创 struts2常用标签库之数据输出标签
二、数据输出标签1)action标签标签用于在jsp页面中直接调用Action"loginAction" namespace="/user" ignoreContextParam="false" executeResult="true" > "userName" value="'张三'"> name:strut
2014-05-18 23:14:59
1340
原创 struts2常用标签库之逻辑控制标签
一、逻辑控制标签(1)条件标签条件标签主要有3个子标签,用于执行基本的条件流转if test="#request.username=='admin'"> 您是admin! if> "#request.username=='manager'"> 您是manager! else> 您没有身份! els
2014-05-18 23:13:45
1931
转载 Eclipse安装Aptana插件【在线安装】
Eclipse安装Aptana插件【在线安装】1. 在线安装:Help->Install New Software...->Add...->Name: "Aptana", Location: http://download.aptana.org/tools/studio/plugin/install/studioLocation: http://do
2014-05-17 13:26:22
811
原创 Android之位置服务三
案例三:根据要求标准查找提供器由于在大部分情况下,都不太可能去显示地选择要使用的位置提供器。更常见的情况是,通过指定一个提供器所必须满足的条件要求,来让Android去确定要使用最优的技术。此时可以使用Criteria类说明对提供器的要求,包括精度(高或者低)、能耗(低、中、高)、花费以及返回海拔、速度和方向的能力。如:Criteria criteria = new C
2014-05-17 13:25:04
982
原创 Android之位置服务二
案例二:通过查找可用的提供器来获得当前的位置信息LocationManager还提供了一个用来获取设备上所有可用提供器的方法getProviders(boolean b),如果传进去的boolean值为true,则表示获取所有的可用提供器,若为false则表示返回已经启用的。1)在main.xml布局文件中添加一个用来单击事件的Button组件和一个用来显示当前位置信息的TextView组
2014-05-17 13:24:22
794
原创 Android之位置服务一
基本介绍基于位置的服务(LBS)是一个宽泛的概念,它描述了用来查找设备当前位置的不同技术,其中有两个比较重要的(LBS)元素是:1)LocationManger:提供基于位置服务的挂钩(hook)2)LocationProvider:每一个provider都表示不同的位置查找技术,该技术用来确定设备当前位置。使用LocationManager可以获得当前的位置、追踪移动、设置在检测
2014-05-17 13:22:15
870
原创 android之自定义组件一
自定义组件实现如下效果: 1)在res文件下新建一个drawable文件夹用于存放自定义组件的属性。2)从效果图分析可以知道,此种效果是由两个EditText和一个View视图组成然后再由一个LinearLayout布局包围显示,因此需要定义一个用来定义EditText的edittext.xml和一个用来包围EditText的布局文件login_linearlayout.xml文
2014-05-15 23:36:51
728
原创 使用通配符定义Action
使用通配符定义Action在开发中通常使用通配符的方法来定义Action,定义一个Action为HelloWorld的类,如:package zjh.struts2.lx;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport {priv
2014-05-08 16:21:57
1611
原创 动态及静态的调用Action中的方法
动态调用Action中的方法如果Action中存在多个方法时,可以使用!+方法名调用指定方法。如下:package zjh.struts2.lx;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport {private String me
2014-05-06 13:42:45
752
原创 为应用指定多个sruts文件
为应用指定多个struts配置文件随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其它配置文件。以下的struts.xml文件是通过元素指定多个配置文件:
2014-05-06 13:41:48
724
原创 struts2中常用的常量介绍
常用的常量介绍指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出 --> 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。 如果用户需要指定多个请求后缀,则多个
2014-04-29 19:48:55
900
原创 指定需要struts2处理的请求后缀
指定需要struts2处理的请求后缀在struts2中都是默认使用.action后缀访问Action。其实默认后缀是可以通过常量“struts.action.extension”进行修改的。例如:可以通过struts2只处理以.do为后缀的请求路径: 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。如:
2014-04-29 19:46:30
2200
原创 Fragment之间的通信
Fragment之间的通信实现如下功能: 当点击左边的修改fragment2的内容的按钮时,修改右边的fargment2的内容,如下: 具体实现步骤如下:1)首先在生成的Activity_main.xml中添加如下代码,具体实现代码如下: xmlns:tools="http://schemas.android.com/tools" a
2014-04-28 13:19:01
961
原创 解决Fragment向下兼容问题
Fragment向下兼容问题由于Fragment是在android api 4.0之后出现的,所以会出现兼容性的问题,如果想继续使用的话则需要在AndroidMainfest.xml中修改android的最低版本为11。如果这样的话在一定程度会造成不变,所以为了解决这问题,所以就要让Fragment向下兼容。1)首先在生成的activity_main.xml中添加如下代码:
2014-04-28 13:17:18
806
原创 Fragment制作标签
Fragment制作标签效果图如下: 当点击上面的标签时,低下会显示出相应的标签页面,具体实现如下:1)首先在Main_Activity.xml文件中配置如下代码: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" a
2014-04-28 13:14:06
890
原创 Fragment入门
Fragment入门小案例:实现如下功能: 1)先在Main_Activity.xml文件中配置如下代码: xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_par
2014-04-28 13:11:27
702
Android如何通过TextView实现超链接的跳转
2016-09-02
完美解决ListView和CheckBox的焦点冲突及CheckBox的复用问题
2015-11-01
PopupWindow的进阶
2015-05-16
如何借助华为应用商店下载自己服务器上的应用
2016-03-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人