gradle下载很慢

解决问题的方法如下:

使用文件管理器 打开用户主目录

windows平台: c:\Users\用户名\.gradle

macos平台: /Users/用户名/.gradle

linux平台: /home/用户名/.gradle

找到./gradle/wrapper/dist/ 目录

找到对应的gradle-版本好-all的文件夹,进入到里面,如下图:

去官方网站下载这个版本号对应的安装包 https://services.gradle.org/distributions/

把下载下来的zip压缩文件 放到对应版本的子目录名里面 (目录名由字母和数字组成)



将压缩文件放入这个目录,我解压了一下,好像没有影响编译。

android 项目下载依赖jar包慢

解决:

build.gradle 文件中添加国内镜像

repositories {
maven{ url 'https://maven.aliyun.com/repository/public/'}
jcenter()
//maven {url 'https://jitpack.io'}
//maven {url 'https://maven.google.com'}
}

References

Android videoview

播放网络视频

AndroidMainfest.xml 新增网络的访问权限

<uses-permission android:name="android.permission.INTERNET"/>

在布局中添加

 <VideoView
android:id="@+id/video_preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />
//引入包
import android.widget.VideoView;
import android.widget.MediaController;
import android.net.Uri; //原生的videoview和控制
private VideoView mVideoView;
private MediaController mMediaController; mVideoView = findViewById(R.id.video_preview);
mMediaController = new MediaController(MainActivity.this); //将路径转换成uri
Uri uri = Uri.parse(videoUrl);
mVideoView.setVideoURI(uri);
mVideoView.setMediaController(mMediaController);
mVideoView.getBufferPercentage();
mVideoView.seekTo(0);
mVideoView.requestFocus();

References

Android 下载网络的mp4文件

AndroidMainfest.xml 新增文件写入的权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

代码记录:

import java.io.File;
import java.io.FileOutputStream;
import java.io.BufferedInputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Environment;
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.IOException;
import java.io.InputStream;
import android.content.Intent;
import android.app.ProgressDialog; //使用
final ProgressDialog pd;
pd = new ProgressDialog(MainActivity.this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("下载中...");
pd.setCanceledOnTouchOutside(false);
pd.show();
new Thread() {
@Override
public void run() {
try {
File file = getFileFromServer('http://www.example.com/example.mp4', pd);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file))); sleep(1000);
pd.dismiss(); // 结束掉进度条对话框
} catch (Exception e) {
e.printStackTrace();
}
}
}.start(); /**
* 将MP4文件存入到 应用的路径 files下
* 固定是: Android/data/你的包名/files
* @param path
* @param pd
* @return
* @throws Exception
*/
public File getFileFromServer(String path, ProgressDialog pd) throws Exception {
// 如果相等的话表示当前的sdcard挂载在手机上并且是可用的
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
String path3 = getExternalFilesDir(null).getPath();
File mediaStorageDir = new File(path3);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
showPromptToast("文件夹创建失败"+path3);
return null;
}
} URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
// 获取到文件的大小
pd.setMax(conn.getContentLength());
InputStream is = conn.getInputStream();
if (!mediaStorageDir.exists()) {
mediaStorageDir.mkdir();
}
// 文件根据当前的毫秒数给自己命名
SimpleDateFormat myFmt = new SimpleDateFormat("yyyyMMddHHmmss");
Date now = new Date();
String videoFileName = "D" + myFmt.format(now);
String suffix = ".mp4";
File file = new File(mediaStorageDir + File.separator + videoFileName + suffix);
FileOutputStream fos = new FileOutputStream(file);
BufferedInputStream bis = new BufferedInputStream(is);
byte[] buffer = new byte[1024];
int len;
int total = 0;
while ((len = bis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
total += len;
// 获取当前下载量
pd.setProgress(total);
}
fos.close();
bis.close();
is.close();
return file;
} else {
return null;
}
}

References

edittext focus

1.在布局文件中给edittext的父控件增加两个属性(我编写代码时,没有给Edittext添加这2个属性)

android:focusable="true"

android:focusableInTouchMode="true"

2.直接调用edittext的clearFocus()方法,不过该方法有时候会不生效

//searchView.setFocusable(true);
//searchView.setFocusableInTouchMode(true);
//searchView.requestFocus();
searchView.clearFocus();//失去焦点
//searchView.requestFocus();//获取焦点

References

Android 编译笔记20191205的更多相关文章

  1. android 应用笔记

    android 应用笔记 android 应用笔记 小书匠 Android 综合教程 Android常用技巧 安卓系统架构 安卓源码开发 安卓驱动 Linux内核 安卓应用开发 Java 教程 tic ...

  2. 【转】Android开发笔记(序)写在前面的目录

    原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...

  3. Android NDK笔记

    目录 Android NDK笔记 AOSP Android repository Android SDK / SDK Tools NDK cmake && ninja lldb adb ...

  4. [置顶] Android开发笔记(成长轨迹)

    分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...

  5. 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件

    目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...

  6. 【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart

    目录(?)[-] 建立测试环境 开发环境导入第三方JAR HTTP Post Multipart小例子 HTTP POST不仅可以通过键值对传递参数,还可以携带更为复杂的参数,例如文件.HTTP Po ...

  7. 【转】Pro Android学习笔记(四):了解Android资源(下)

    处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootna ...

  8. 【转】Pro Android学习笔记(三):了解Android资源(上)

    在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源res ...

  9. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

随机推荐

  1. python2和python3的编码encode解码decode函数

    python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8:  常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...

  2. PowerDesigner 小技巧

    PowerDesigner 重现快捷工具栏 palette :Tools -->customsize toolbars-->palette(调色板)勾选 如何在PDM中列表显示TABLE的 ...

  3. C#基础提升系列——C# LINQ

    C# LINQ LINQ(Language Integrated Query,语言集成查询).在C# 语言中集成了查询语法,可以用相同的语法访问不同的数据源. 命名空间System.Linq下的类En ...

  4. 百度小程序-swiper组件

    .swan <!-- 轮播图S --> <view class="swiper-box"> <swiper class="banner&qu ...

  5. Java Web学习总结(12)Filter过滤器

    一,Filter简介 Filter也称之为过滤器,Filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理. 二,Filter开发步骤 1)编写一个 ...

  6. ceph-状态监测-脚本

    http://www.tang-lei.com/2018/06/05/ceph-%E7%8A%B6%E6%80%81%E7%9B%91%E6%B5%8B-%E8%84%9A%E6%9C%AC/ 为了能 ...

  7. Servlet 第一天

    package com.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet. ...

  8. <三剑客> 老大:awk命令用法

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一 个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...

  9. pytest_用例运行级别_class级

    ''' 模块级(setup_module/teardown_module)开始于模块始末, 全局的在类中不起作用 类级(setup_class/teardown_class)只在类中前后运行一次(在 ...

  10. windows10 cortana 不能搜索解决办法

    不太确定是某次系统更新或安装VS软件之后, 发现windows10 cortana 搜索的结果是空白了, 搜索了相关帖子, 试遍所有方法都无效, 最后在联网的情况下, 只用了在powershell中重 ...