- 浏览: 18148 次
- 性别:
- 来自: 武汉
最新评论
文章列表
最近在公司写下面一个界面时,遇到了一个bug,item可以点击,但是checkbox无法点击选中
下面是我之前写的一个item的自定义布局类:
package com.chemanman.manager.view.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
imp ...
最近在做项目时接触到mvp,刚下手时挺混乱的,做完后才发觉其魅力。
MVP即是Model、View、Presenter,和MVC类似,逻辑代码在Presenter层,但不同的是,MVP架构中model层和view层完全解耦,它们两者只与presenter层有关联。而在MVC架构中,model层虽不依赖view层,但是view层却依赖于model层。在实际开发过程中,模块开发进度往往不一致,如果使用MVC架构,项目开发进度会有所滞慢。但是MVP不会,只需要定以后回调接口,便可分工合作,大大加快开发进度,而且耦合度低的代码也方便重用。
在MV ...
Android之数据存储(一)
- 博客分类:
- 初识Android
我们知道程序在运行时,数据是存放在运行内存中的,一旦程序关闭,数据就会丢失。那么我们要想数据不丢失怎么办呢?那就需要将数据存储在外存中,比如sd卡和手机自身内存。
存储方式一:文件存储与读取
Context类中提供了一个openFileOutput ()方法,可以将数据存储到指定的文件中。这个方法有两个参数。第一个是文件名,文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<package name> /files/目录下的;第二个参数是文件测操作模式,MODE_PRIVATE ...
对于activity我们已经有了一定的了解了,但对于安卓的四大组件之一的Broadcast我们似乎没接触过。其实每天我们都在和它打交道,还记得这张图片吗?
每当没网时,我们有没有想过手机怎么知道没网了呢?这一切等了解Braoadcast后,你就会明白了。
安卓有一套完整的API,可以让用户自由接收和发送广播。接收广播需要广播接收器,而发送广播需要使用intent。Intent在前面我们已经接触过了,就不详细介绍了,待会直接看代码。那么就来看看广播接收器了。
广播 ...
Fragment的生命周期
- 博客分类:
- 初识Android
自从android4.0之后,fragment就被广泛使用,我们知道Fragment与Activity有所不同,也有相似之处。Activity有生命周期,Fragment也有生命周期,了解了Fragmnet的生命周期,我们才能在控制程序时游刃有余。
先来看看官方给出的fragment的生命周期图:
从上面可以看出Fragment有11个状态,测试代码如下:
public class RightFragment extends Fragment{
public static final String ...
ListView的使用
- 博客分类:
- 初识Android
在使用手机时,我们在看新闻或是看微信QQ时,总会上下滑动屏幕,好像屏幕中掩藏的内容可以无限延伸,这其实就是使用了ListView的效果。ListView是一种开发中经常使用到的控件,也是比较难的一个控件。因此专门写篇博客记录自己的所学所感。
构建一个基本的ListView
ListView可以说是一个数据容器,用来展示数据给用户,并能提供交互。那么数据从哪来?又是如何通过ListView呈现给用户的呢?我们知道,ListView呈现的数据一般是变化的,这些数据来自数据库,网络,或其它应用程序 ...
fragment的静态加载与动态加载
- 博客分类:
- 初识Android
为什么要使用Fragment就不再多说了,网上有很多介绍,Fragment相对于Activity更灵活。为什么呢?Fragment与Activity有什么联系与区别呢?如果说Activity是一个大箱子的话,Fragment就是大箱子里面分装东西的小盒子,这样很容易理解东西分装在小盒子里更容易替换或更改,界面改变与设计也就更加灵活。这里就重点谈一下Fragment的入门使用动态加载与静态加载。
静态加载
特点:Fragment直接嵌入到Activity的xml文件中,这种方式使用fragment代 ...
activity的四种启动模式
- 博客分类:
- 初识Android
我们都知道打开一个app后,我们点开了好几个界面后,就需要点击几次后退键,才能退出程序,这是为什么呢?答案是启动模式与任务栈。
activity有四种启动模式:standard、singleTop、s ...
activity之间的数据传递
- 博客分类:
- 初识Android
在前面已经实现了界面之间的跳转,然而实际开发中,界面跳转一般伴随着数据传递。那么安卓里面如何进行数据传递呢?这里还是需要用到Intent。
我们知道使用Intent对象,可以实现页面跳转,其实intent还可以携带任意数据。
上面这张图是Intent携带数据的方法的一部分包含了所有的基本类型。那么复合类型的数据如何传递呢?对象又如何传递呢?
一、复合类型的传递
...
activity的生命周期
- 博客分类:
- 初识Android
学习安卓,不可避免的要了解activity的生命周期。我们通过一些资料知道,activity有六个状态
分别是onCreate、onStart、onResume、onPause、onStop和onDestory。那么它们的调用时间以及顺序是怎么样的呢?学习他们,我们就能跟好的理解activity的工作过程,以便控制逻辑代码的书写。
为了便于观看activity的生命周期,我写了三个activity:
package com.example.test3;
import android.os.Bundle;
import andr ...
开始接触安卓时,我们心中总会有一个疑问,Activity是个什么样的类?问什么都要继承Activity?
Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一,简单来说,Activity就是一个界面,我们安卓手机每次显示在屏幕上的都是一个Activity,它的作用是一个负责与用户交互,我们平时触屏,点击都是通过activity与后台控制程序交互。
安卓里面,界面界面显示和界面实现是分离 ...
以前对JList不大了解,只知道显示固定的数据,今天特地的看了一下JList的API,基本弄懂了JList的用法,可以实现JList的动态更新和图片加载。
这是主类
package jlist_v1;
import java.awt.BorderLayout;
public class MyJistText extends JFrame {
private JPanel contentPane;
private JLabel label;
private JList list;
private Vector&l ...
编写自定义窗体和组件
- 博客分类:
- java
在学习java图形界面的时候,就想编写一个属于自己的窗体,可以自己定义组件的形状颜色等,今天终于实现了,和大家分享一下
首先编写自定义panel
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import jav ...
String一旦实例化,里面的内容不可修改?听到这句话我半信半疑,以前使用string时,经常使用str+=“world”,输出时str的内容不是改了吗?于是我深入了解了一下String的内存分配机制。
String str="hello"; str指向对内存中“hello”的首地址,(这算做第一片区域)然后出现了 str +="world"; 这个时候 在堆内存空间中, 又出现了一个片区域,存储了 "world"(这算第二片区域)因为 是 += 的关系 ,所以又出 ...
今天有个同学问我,为什么点击按钮,按钮如果添加了监听器,就会有有响应。额,顿时也答不上来,因为以前只是知道怎么用,没想过,为什么加了监听器就会有响应。于是便看了一下MouseListener的api,其类 ...