【阿炬Android笔记】01、调用VitamioBundle播放窗口
1、调用VitamioBundle播放窗口
Intent intent = new Intent(getApplicationContext(), VideoActivity.class);
intent.setData(Uri.parse(path));
// intent.putExtra("path", f.path);
intent.putExtra("displayName", "企建教育");
startActivity(intent);
2、AndBase对话框
AbDialogUtil.showAlertDialog(MainActivity.this, "这里是标题",
"这里写一些描述", new AbDialogOnClickListener() { @Override
public void onPositiveClick() {
// TODO Auto-generated method stub } @Override
public void onNegativeClick() {
// TODO Auto-generated method stub }
});
3、AndBase框架异步获取json数据,并解析的过程
mAbHttpUtil = AbHttpUtil.getInstance(this);
mAbHttpUtil.setTimeout(10000);
String urlString = "http://ke.cpmqa.com/";
mAbHttpUtil.get(urlString, new AbStringHttpResponseListener() { @Override
public void onSuccess(int statusCode, String content) {
Log.d(TAG, "onSuccess"); try {
JSONObject jsonObject = new JSONObject(content); int total = jsonObject.getInt("total");
Boolean success = jsonObject.getBoolean("success");
Log.d(TAG, "total:" + total + " | success:" + success); JSONArray jsonArray = jsonObject.getJSONArray("rows");// 里面有一个数组数据,可以用getJSONArray获取数组
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i); // 得到每个对象 TttVideo t = new TttVideo();
t.Id = item.getInt("Id");
t.VideoName = item.getString("VideoName");
t.Flag = item.getInt("Flag");
t.VideoUrl = item.getString("VideoUrl");
t.OrderFlag = item.getInt("OrderFlag"); list.add(t); } } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } // 失败,调用
@Override
public void onFailure(int statusCode, String content,
Throwable error) { Log.d(TAG, "onFailure");
AbToastUtil.showToast(MainActivity.this, error.getMessage());
} // 开始执行前
@Override
public void onStart() {
Log.d(TAG, "onStart");
// 显示进度框
AbDialogUtil
.showProgressDialog(MainActivity.this, 0, "正在查询...");
} // 完成后调用,失败,成功
@Override
public void onFinish() {
Log.d(TAG, "onFinish");
// 移除进度框
AbDialogUtil.removeDialog(MainActivity.this);
}; });
4、动态添加控件,并设置控件属性
TableLayout table1 = (TableLayout) findViewById(R.id.table1);
if (list != null) {
for (TttVideo t : list) {
TextView tv = new TextView(MainActivity.this);
tv.setId(t.Id);
tv.setText(Html.fromHtml(t.VideoName));
TableRow.LayoutParams lp = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT);
if (t.Flag == 0) {
lp.setMargins(
DensityUtil.dip2px(MainActivity.this, 20),
DensityUtil.dip2px(MainActivity.this, 20),
DensityUtil.dip2px(MainActivity.this, 15),
DensityUtil.dip2px(MainActivity.this, 20));
tv.setTextColor(Color.BLACK);
} else {
lp.setMargins(
DensityUtil.dip2px(MainActivity.this, 40),
DensityUtil.dip2px(MainActivity.this, 15),
DensityUtil.dip2px(MainActivity.this, 15),
DensityUtil.dip2px(MainActivity.this, 15));
if (MediaUtils.isVideo(t.VideoUrl)) {
tv.setTextColor(Color.rgb(53, 53, 53));
}
tv.setOnClickListener(MainActivity.this);
}
TableRow tr = new TableRow(MainActivity.this);
tr.addView(tv, lp);
if (t.Flag == 0) {
} else {
tr.setBackgroundColor(Color.WHITE);
}
TableLayout.LayoutParams tablelp = new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT);
tablelp.setMargins(0, 0, 0,
DensityUtil.dip2px(MainActivity.this, 1));
table1.addView(tr, tablelp);
}
}
5、代码中的单位转换类:
public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
【阿炬Android笔记】01、调用VitamioBundle播放窗口的更多相关文章
- Android笔记之调用系统相机拍照
参考链接: 拍照 | Android Developers, Android相机拍照方向旋转的解决方案:ExifInterface - 简书 Demo链接:https://pan.baidu.co ...
- android调用音乐播放器,三种方
小弟想请问一下.怎样在自己写的程序中调用系统的音乐播放器呢. 我在google上搜索了.主要是有两种方法,可是都不是我想要的. 第一种是.使用mp3音乐文件的uri.和intent,进行调用.可是这样 ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
<30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...
- Android笔记:触摸事件的分析与总结----TouchEvent处理机制
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://glblong.blog.51cto.com/3058613/1559320 ...
- JS自学笔记01
JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】
转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 ...
- potplayer 网页调用potplayer播放本地视频
网页调用potplayer播放本地视频 CreateTime--2018年1月3日10:36:24 Author:Marydon 源码展示: <!DOCTYPE html> <h ...
- Android音频文件浏览+音频播放
该Demo执行后,会显示全部你sd卡上的音乐文件列表, 并能够点击列表选择某一首歌曲进行播放. 执行效果: 点击download出现: 然后点击歌曲调用系统播放器播放. 源码: activity_au ...
- Android 笔记之 R 文件
Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...
随机推荐
- AWS系列之三 使用EBS
Amazon Elastic Block Store(EBS)可作为EC2实例的持久性数据块级存储.其具有高可用性和持久性的特点,可用性高达99.999%.给现有的EC2实例扩展新的存储块只需要几分钟 ...
- as3 Loader 加载资源后内存泄露无法释放的问题。
本人用Loader加载外部一个swf.之后unloadAndStop,Flash概要分析发现,内存没有被释放. 网上搜了一大堆文章,要么就是加载bitmapdata之后,自己dispose,要么就是加 ...
- 实践基于Task的异步模式
Await 返回该系列目录<基于Task的异步模式--全面介绍> 在API级别,实现没有阻塞的等待的方法是提供callback(回调函数).对于Tasks来说,这是通过像ContinueW ...
- Bootstrap~大叔封装的弹层
回到目录 对于Bootstrap的弹层,插件有很多,今天主要用的是它自带的功能,通过bootstrap提供的模式窗口来实现的,而大叔主要对使用方法进行了封装,开发人员可以自己动态传入弹层的HTML内容 ...
- 知方可补不足~UPDLOCK更新锁的使用
回到目录 对于高并发的场合下,使用UPDLOCK可以有效的控制并发更新的问题,即当一个线程在进行with(UPDLOCK)并进行update时,另一个线程将被阻塞,它会等第一个线程更新结束后,才可以进 ...
- IOS开发之控件篇UINavigationController第二章 - 标题
1.什么是标题(Title) NavigationController里面的viewcontroller,每一页都会有一个标题,如图3r就是这个页面的标题 2. 如何设置标题 一般都会在这个Navig ...
- Liferay7 BPM门户开发之42: Liferay核心JSP定制扩展
Liferay最大的好处是不仅接口强大,利于扩展,就连JSP定制扩展都提供了3种方式. 修改核心jsp代码,有3种修改方式:1.暴力修改直接修改(位于portal-web/docroot/html), ...
- JSP网站开发基础总结《十四》
对于JSP的知识总结,已经为大家分享的差不多了,本篇就为大家做一下最后总结,本篇总结的主题是文件上传和下载,在之前的随笔中也有为大家分享过文件上传和下载的知识,不过都是通过JAVA提供的上传下载类实现 ...
- CardLayout布局练习(小的图片浏览器)
/* 涉及Panel中的图片的加载,还有Frame的关闭的方法, CardLayout(int hgap, int vgap)就会决定卡片面板的大小 匿名类的使用... */ import java. ...
- SQL*Loader之CASE11
CASE11 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase11.sql set termout off rem host write sys$output &q ...