【阿炬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 ...
随机推荐
- ASP.NET集成模式下的管道事件
- VS2015的一些资料
http://blog.csdn.net/hk_5788/article/details/48466295 主要看一下js支持方面的,另外今天复习了promise,刚入职的时候看得有些问题,今晚抽时间 ...
- jQuery的extend方法的深层拷贝
一些东西长时间不用就忘了,比如这个jQuery的extend方法的深层拷贝,今天看单页应用的书的时候,看到entend第一个参数是true,都蒙了.也是,自己的大部分对jQuery的学习知识来自锋利的 ...
- Atitti css3 新特性attilax总结
Atitti css3 新特性attilax总结 图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap &a ...
- 大数据平台R语言web UI应用架构 设计与开发
1. 系统拓扑图 在日常业务分析中,R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据处理框架,采用内存计算,可以短时间内完成大量的数据的处理 ...
- Android 图片文件操作、屏幕相关、.9图片的理解
一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) { if(!ex ...
- Struts2学习笔记 - HelloWorld总结
相信网上已经有很多关于struts2的HelloWorld可参考,我这里就不重复了,没个学struts2的人都会做过很多个HelloWorld,而我这里就总结一下一个简单的HelloWorld 我在一 ...
- Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数
Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文 TextWatcher mTextWatcher = new Tex ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- MySQL(五) MySQL中的索引详讲
序言 之前写到MySQL对表的增删改查(查询最为重要)后,就感觉MySQL就差不多学完了,没有想继续学下去的心态了,原因可能是由于别人的影响,觉得对于MySQL来说,知道了一些复杂的查询,就够了,但是 ...