【阿炬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 ...
随机推荐
- openseadragon.js与deep zoom java实现艺术品图片展示
openseadragon.js 是一款用来做图像缩放的插件,它可以用来做图片展示,做展示的插件很多,也很优秀,但大多数都解决不了图片尺寸过大的问题. 艺术品图像展示就是最简单的例子,展示此类图片一般 ...
- Windows 10 下安装 npm 后全局 node_modules 和 npm-cache 文件夹的设置
npm 指 Node Package Manager,是 Node.js 中一个流行的包管理和分发工具.Node.js 在某个版本的 Windows 安装包开始已经加入了 npm,现在可以进入 htt ...
- Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au
Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au 1.1. Overview概论 支持母语优先的战略性产品,主要是针对不想以及不愿使用普通 ...
- paip.python错误解决24
paip.python错误解决 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...
- 跨终端 Web
跨终端 Web(移动优先|响应式|HTML5|Hybrid|桌面+移动应用|一线前端负责人联袂推荐) 徐凯 著 ISBN 978-7-121-23345-6 2014年6月出版 定价:55.00 ...
- Ecshop :后台添加新功能 菜单及 管理权限 配置
需求:在<商品管理>下增加一项[商品推广管理]功能 一. 添加菜单项 打开 /admin/includes/inc_menu.php 文件(后台框架左边菜单),在最后添加一行如下: $mo ...
- iOS中app启动闪退的原因
这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面 ...
- 每天一个linux命令(13):less 命令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...
- React(二)实现双向数据流
<div id="app"></div> <script src="bower_components/react/react.min.js& ...
- KnockoutJS 3.X API 第五章 高级应用(3) 虚拟元素绑定
注意:这是一种高级技术,通常仅在创建可重用绑定的库时使用. 这不是你通常需要做的时候使用Knockout构建应用程序. Knockout的控制流绑定(例如,if和foreach)不仅可以应用于常规DO ...