- 博客(30)
- 收藏
- 关注

原创 MediaPlayer+surfaceView实现视频播放器
最近项目中要用到视频播放器,就先写了个Demo,在写的过程中遇到些问题,来和大家分享一下: 1.Demo是基于Android电视的,因此与Android手机有点区别,但问题不大 2.MediaPlayer有个Bug,当视频播放完后getDuration(获取视频总时间)和getCurrentPosition(获取视频当前播放时间)方法获取到的数字不一样,相差300ms左右,如果单纯的播放不受影
2015-08-13 16:31:57
1869

原创 ViewPager少于三张图片时,滑动Bug
用ViewPager实现轮滑,当图片少于三张时,滑动出现问题,修改如下,逻辑比较简单,直接代码: import android.app.Activity; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager;
2015-02-06 12:01:28
1214
原创 Android分享功能的一点总结
前段时间给以前的App加了分享功能,与大家分享一些心得。 实现分享功能有三种方式: 1.调用Android自带的分享接口,这种方式最简单,它是直接调用App的发信息功能,把我们的链接通过信息方式发出去,因此它的分享效果比较差。同时它只能发送给手机上已安装的社交App。最坑的是有些App对此功能是屏蔽的,比如微信朋友圈。代码很简单,网上一搜就有,我就不赘述了。 2.通过第三方S
2015-08-13 16:58:02
903
原创 MediaPlayer 字幕同步
最近项目要用到这个功能,网上也没查到比较好的实现方法,索性就自己写了个简单的Demo 字幕文件在Assets文件中,音频在raw文件中,首先简析字幕文件,把时间和内容分别放在两个List中,然后通过线程不断刷新字幕: 代码如下: package com.example.vediotext; import java.io.BufferedReader; import
2015-03-24 18:43:56
1036
原创 Android 背景动画
项目要实现背景动画,就是背景图片比屏幕大,然后通过动画实现背景图片的上下左右循环移动,用到很多方法,下面是我认为效果最好的一种: 代码: public class Draw extends View implements Runnable{ private Bitmap bmp; private int left = 0; private int top = 0;
2015-02-02 17:32:57
1032
原创 控件进行Animation动画后失去焦点的几个解决办法
View Animation及控件动画就是我们常用的平移,旋转,渐变,缩放,这种动画只能实现了控件动画效果,而控件的位置不变,这样动画后的控件就无法获取焦点。 1.我们可以在动画后强制给控件焦点: mHiddenAction.setAnimationListener(new AnimationListener() { @Override public void onAnimat
2015-02-02 16:43:40
1899
原创 Android的Service生命周期
Service的生命周期Service的生命周期方法比Activity短一些,只有onCreate,onStart,onDestroy 它有两种方式启动一个Service,但对Service生命周期的影响是不一样的。 1通过startService Service会经历onCreate->onStart stopService的时候直接onDestroy
2014-09-14 22:07:52
706
原创 Android页面跳转
一个Android应用程序通常有多个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求。 下面是Android中页面跳转以及传值的几种方式! Activity跳转与传值,主要是通过Intent类来连接多个Activity,通过Bundle类来传递数据。 最常见最一般的页面跳转代码 Intent intent =
2014-09-14 22:03:30
1290
原创 Android滑屏实例
一个简单的实现图片滑屏的方法: XML(主要代码): android:id="@+id/image_pager" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_be
2014-09-13 23:51:46
518
原创 创建Fragment
通常 fragment为activity 一部分, 被作为activity整个view hierarchy的一部分被嵌入. 有2种方法你可以添加一个fragment到activity layout: 1.在activity的layout文件中声明fragment 你可以像为View一样, 为fragment指定layout属性 android:orientat
2014-09-07 20:41:17
463
原创 Android数据库
Android访问数据库: 1.建库,建表: public class MySQLiteOpenHelper extends SQLiteOpenHelper{ private static final String DB_NAME="test.db";//库名 private static final int DB_VERSION=1;//版本号 public static fin
2014-09-07 20:35:01
489
原创 Android常用方法
多线程: thread,RunThread MyThread t=new MyThread t.start(); Thread thread=new Thread(new MyRunThread) thread.stsrt(); Adapter: 自定义: public class NewsTestAdapter extends BaseAdapte
2014-09-07 20:34:19
721
原创 一个使用Fragement控件的简单实例
一个使用Fragement控件的简单实例 FirstFragement的建立 public class FirstFragement extends Fragment implements OnClickListener{ private Activity mActivity; public ImageView image; private OnBackgroundChangeL
2014-08-31 22:26:44
632
原创 Fragement使用
创建一个Fragment Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。可以看做是一个子Activity。 创建一个Fragment 创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局。例子:
2014-08-31 22:23:17
590
原创 Android常用属性
学了一段时间Android,总结Android界面常用属性如下: 第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBot
2014-08-30 22:43:02
581
原创 Android操作SQLite的几个常见方法
建立数据表 public void onCreate(SQLiteDatabase db) { //拼接建立数据表的SQL语句 StringBuilder createNewsTable = new StringBuilder(); createNewsTable.append("create table "); createNewsTable.append(NEWS_TAB);
2014-08-24 16:30:48
509
原创 Android下拉框制作
下拉列表 Spinner的一个简单实例: SpinnerActivity: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView
2014-08-24 16:18:16
744
原创 startActivityForResult()用法
跳转页面时,原有的界面有时需要从新界面取得数据, 这就需要用startActivityForResult来跳转, 如,从activityA跳转到activityB: activityA的主要跳转过程代码代码:跳转到activityB,要求返回数据 Intent intent = new Intent(this, ActivityB.class); startActivityForResu
2014-08-24 16:09:35
587
原创 android布局
Android布局中RelativeLayout的一些属性: 1).属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中
2014-08-17 20:42:57
412
原创 Servlet的简单总结
网页编程时Servlet的使用频率很高,以下是对Servlet进行的一些简单说明和总结: Servlet的使用可分为三个主要阶段 1,初始化,调用init()方法 2,响应客户请求,调用service()方法 3,终止,调用destroy()方法 Servlet初始化阶段: 1,Servlet容器启动时自动装载某些Se
2014-08-16 22:48:13
533
原创 JSP内置对象
在JSP 2.0中一共定义了9种内置对象,这些对象不用进行显示声明,而可以直接引用,不需要代码创建其实例,而可以在程序中直接使用, 根据对象的作用不同,可以分为四类 1.与Servlet有关的隐含对象:page,config 2.与I/O有关的隐含对象:out,request,response 3.与jsp执行时,提供有关Context的隐含对象:seesion。Application,p
2014-08-16 22:34:16
406
原创 JSP页面跳转的常见方式
JSP页面跳转的几种常用方式: 1>RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet或者是JSP到另外的一个Servlet、JSP 或普通HTML文件,也即你的form提交至a.jsp ,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息
2014-08-10 15:15:45
506
原创 AJAX的一个简单用法
登录时验证用户名和密码的几种方式 登录 $(document).ready(function(){//这个就是jQueryready,需要一个脚本 $("#button_login").mousedown(function(){ login(); //点击ID为"button_login"的按钮后触发函数 login(); }); }); fu
2014-08-10 15:00:06
451
原创 常见表格样式
最近作了许多表格,以下是我对表格的部分总结,值得注意的是不同浏览器有所差异 表格由 标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表d row 1, cell 1 row 1, cell 2 row 2, cell 1 row 2, cel
2014-08-09 23:53:39
619
原创 request和response中一些方法的区别
request和response URL:uniform resource locator 统一资源定位符即网址 URL:协议,主机IP,项目资源地址 GET和POST的区别: 对于GET方式发送的请求,其内容类型为:null 对于POST方式发送的请求,其内容类型为:application/x-www-form-urlencoded POST方式发送请求的内容类似于:username
2014-08-03 15:52:10
1188
原创 oracle视图
下面是对视图的一些总结和归纳: 首先,视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询,相当于表中的select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 1.视图的优点: 1).对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2).用户通过简单的查询可以从复杂查询中得到结果。 3).
2014-08-03 12:43:49
438
原创 oracle常见操作语句
这周刚学完oracle,oracle操作数据库主要有两种方法: 1>通过客户端界面操作 2>通过SQL语句来操作数据库 下面是通过查找资料和课堂笔记总结的一些简单oracle语句; 1.创建ORACLE表 create table 表名( 列名1 类型, 列名2 类型 ); 2.在建好的表中添加列 alter table 表名 add(列名 类型); 3.在oracl
2014-08-03 12:29:42
952
原创 JAVA重载和重写的区别
1.重载(Overloading) (1)方法重载是指在同一个类中多个同名函数同时存在,具有不同的参数个数/类型。 重载Overloading是一个类中多态性的一种表现。 (2)方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具 有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型 来决定具体使用哪个方法, 这就是多态性。 (3)重载的时候,方法名要
2014-07-27 16:00:57
546
原创 form表单验证
最近学习了js,也作了些有关表单验证的题,这里把几种常见的表单验证罗列出来并且对网上一些不适用的方法进行了修改, 由于时间仓促,内容不是很全,却比较实用 1. 长度限制可以通过length来判断 function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.foc
2014-07-26 21:43:45
1366
原创 DOM和BOM的区别
最近刚学完javascript,通过查阅资料与上课的内容结合将DOM和BOM作了一些比较如下: 首先,BOM的全称为Browser Object Mode,中文名是浏览器对象模型。它的一些功能和特性如下: 1. BOM提供了独立于内容而与浏览器窗口进行交互的对象 2. 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window 3. BOM由一系列相关的对象构成,并且
2014-07-25 20:38:15
2529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人