【阿炬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 ...
随机推荐
- [stm32] SIM808模块之发短信\GPS\TCP\HTTP研究
SIM8008是四频模块,全球可用.含有TTL电平接口等接口,能够实现发短信.打电话.GPRS传输数据.GPS等功能.[正版资料请找beautifulzzzz·博客园] 一些细节: >> ...
- ios 下创建,删除文件夹的方法
NSString *imageDir = [NSString stringWithFormat:@"%@/Caches/%@", NSHomeDirectory(), dirNam ...
- 谈谈设计模式~原型模式(Prototype)
返回目录 原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例(clone),而不是新建(new)实例.被复制的实例就是我们所称的“原型”,这个原型是可定制的. 原型模式 ...
- Nodejs·构建web应用
本篇的内容比较多..... 1 首先是从基本的Nodejs服务方面讲述前后端统一语言在web应用中的作用: 2 然后讲了web中基本的知识,从请求方法到路由.从查询字符串到Cookie和Session ...
- [Java集合] 彻底搞懂HashMap,HashTable,ConcurrentHashMap之关联.
注: 今天看到的一篇讲hashMap,hashTable,concurrentHashMap很透彻的一篇文章, 感谢原作者的分享. 原文地址: http://blog.csdn.net/zhanger ...
- Atitit dsl exer v3 qb3 新特性
Atitit dsl exer v3 qb3 新特性 /atiplat_cms/src/com/attilax/dsl/DslParser.java V3 支持typeed参数,与简化的notyp参数 ...
- 好友录v1.2.7_Build(7790)
<好友录>是使用.net Framework4.0+sqlite开发的,属于WingKu(谷毅科技)系列软件之一.它是一款外观时尚.美观,操作简单.易用,功能强大的个人通讯信息管理软件.它 ...
- CKFinder_AspDotNet_2.4 破解方法 去版权
CKFinder是一个比较好用的Web端文件管理器,虽然UI不是很好看,但是因为能搞到源码,所以比起网上那些只有付费之后才能下载到源码的Web端文件管理器要好许多,至少你可以在确定该控件是否能用在你的 ...
- Java 线程 — ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor 该类继承自ThreadPoolExecutor,增加了定时执行线程和延迟启动的功能,这两个功能是通过延时队列DelayedWorkQueue辅助 ...
- Script Task 引用 package variable
Script Task 能够使用C#代码进行编程,许多复杂的逻辑都可以使用C# 脚本来实现,不仅灵活,而且强大. 1,能够传递package variable 给 Script Task ,并且Scr ...