首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
14,034 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,353 阅读
3
gradle-5.4.1-all.zip下载
9,342 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
8,140 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,992 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
615
篇文章
累计收到
629
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
450
篇与
的结果
2020-10-15
Android VideoView播放视频
今天的任务是所以先来记录一下VideoView经过一番操作之后,视频总算是放出来了而且这个只是本地的视频,我播放网络的视频总是出现然后报错2020-10-15 10:07:12.914 11984-11984/cn.lanol.studykongjian V/MediaHTTPService: MediaHTTPService(android.media.MediaHTTPService@37be89c): Cookies: null2020-10-15 10:07:12.916 11984-11984/cn.lanol.studykongjian E/MediaPlayerNative: Unable to create media player2020-10-15 10:07:12.918 11984-11984/cn.lanol.studykongjian W/VideoView: Unable to open content: https://gitlab.com/Vastsa/lanpicbed/-/raw/master/视频地址.mp4 java.io.IOException: setDataSource failed.: status=0x80000000 at android.media.MediaPlayer.nativeSetDataSource(Native Method) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1175) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1162) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1079) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1100) at android.widget.VideoView.openVideo(VideoView.java:412) at android.widget.VideoView.access$2200(VideoView.java:83) at android.widget.VideoView$7.surfaceCreated(VideoView.java:694) at android.view.SurfaceView.updateSurface(SurfaceView.java:1153) at android.view.SurfaceView.lambda$new$0$SurfaceView(SurfaceView.java:173) at android.view.-$$Lambda$SurfaceView$w68OV7dB_zKVNsA-r0IrAUtyWas.onPreDraw(Unknown Source:2) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1093) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3089) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1952) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8171) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972) at android.view.Choreographer.doCallbacks(Choreographer.java:796) at android.view.Choreographer.doFrame(Choreographer.java:731) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)2020-10-15 10:07:12.918 11984-11984/cn.lanol.studykongjian D/VideoView: Error: 1,0于是暂时先放弃了,反正比赛也是无网环境。起初播放本地视频也是如此,但后来发现是因为权限的原因,所以需要在AndroidManifest.xml中加入<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />然后还需要在Activity中动态申请权限int permission = ActivityCompat.checkSelfPermission(videoVIew.this, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(videoVIew.this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); video.start(); }然后在提示授权的时候点击允许然后就没什么好说的了,这是Activity全部代码package cn.lanol.studykongjian; import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Environment; import android.widget.MediaController; import android.widget.VideoView; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; public class videoVIew extends AppCompatActivity { private final int REQUEST_EXTERNAL_STORAGE = 1; private String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video_view); //设置视频地址 String videoUrl1 = Environment.getExternalStorageDirectory().getPath()+"/onceok.mp4" ; //找到视频控件进行一系列设置 VideoView video = findViewById(R.id.video); video.setMediaController(new MediaController(this)); video.setVideoPath(videoUrl1); int permission = ActivityCompat.checkSelfPermission(videoVIew.this, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(videoVIew.this, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); video.start(); } } }-------------------------------------------------------------------播放URL视频提示Can't play this video的问题解决了,因为没有加网络权限,所以需要在AndroidManifest.xml中加入<uses-permission android:name="android.permission.INTERNET" />然后就是设置播放URLUri uri = Uri.parse("https://gitlab.com/Vastsa/lanpicbed/-/raw/master/播放地址.mp4") video.setVideoURI(uri);
2020年10月15日
1,277 阅读
0 评论
0 点赞
2020-10-14
最长递增子序列
【问题描述】在数列 a[1], a[2], ..., a[n] 中,如果 a[i] < a[i+1] < a[i+2] < ... < a[j],则称 a[i] 至 a[j] 为一段递增序列,长度为 j-i+1。给定一个数列,请问数列中最长的递增序列有多长。【输入格式】输入的第一行包含一个整数 n。第二行包含 n 个整数 a[1], a[2], ..., a[n],相邻的整数间用空格分隔,表示给定的数列。【输出格式】输出一行包含一个整数,表示答案。【样例输入】75 2 4 1 3 7 2【样例输出】3【评测用例规模与约定】对于 50% 的评测用例,2 <= n <= 100,0 <= 数列中的数 <= 1000。对于所有评测用例,2 <= n <= 1000,0 <= 数列中的数 <= 10000。import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class 最长递增 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int[] b = new int[a]; for (int i = 0; i < b.length; i++) { b[i] = sc.nextInt(); } sc.close(); List<Integer> result = new ArrayList<Integer>(); for (int i = 0; i < b.length; i++) { int count = 1; for (int j = i; j < b.length-1; j++) { if (b[j]<b[j+1]) { count++; }else { break; } } result.add(count); } System.out.println(Collections.max(result)); } }
2020年10月14日
1,111 阅读
0 评论
0 点赞
2020-10-14
音节判断
【问题描述】小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。【输入格式】输入一行,包含一个单词,单词中只包含小写英文字母。【输出格式】输出答案,或者为yes,或者为no。【样例输入】lanqiao【样例输出】yes【样例输入】world【样例输出】no【评测用例规模与约定】对于所有评测用例,单词中的字母个数不超过100。import java.util.*; public class 音节判断 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); List<String> b = new ArrayList<String>(); String[] t = new String[] { "false", "true", "false", "true" }; char[] a = sc.next().toCharArray(); for (int i = 0; i < a.length; i++) { String c = String.valueOf(isyuanyin(a[i])); if (i > 1) { if (c == b.get(b.size() - 1)) { continue; } else { b.add(c); } } else { b.add(c); } } boolean flag = true; for (int i = 0; i < b.size(); i++) { if (t[i] != b.get(i)) { flag = false; break; } } if (b.size() < 4) { System.out.println("no"); } else { if (flag) { System.out.println("yes"); } else { System.out.println("no"); } } } // 判断是否是元音 public static boolean isyuanyin(char i) { char[] b = { 'a', 'e', 'i', 'o', 'u' }; boolean result = false; for (int j = 0; j < b.length; j++) { if (i == b[j]) { result = true; break; } } return result; } }
2020年10月14日
702 阅读
0 评论
1 点赞
2020-10-12
缩位求和
标题:缩位求和在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。比如:248 * 15 = 3720把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得2 + 4 + 8 = 14 ==> 1 + 4 = 5;1 + 5 = 65 * 6而结果逐位求和为 35 * 6 的结果逐位求和与3符合,说明正确的可能性很大!!(不能排除错误)请你写一个计算机程序,对给定的字符串逐位求和:输入为一个由数字组成的串,表示n位数(n<1000);输出为一位数,表示反复逐位求和的结果。例如:输入:35379程序应该输出:9再例如:输入:7583676109608471656473500295825程序应该输出:1资源约定:峰值内存消耗(含虚拟机) < 256MCPU消耗 < 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。不要使用package语句。不要使用jdk1.7及以上版本的特性。主类的名字必须是:Main,否则按无效代码处理。import java.util.Scanner; public class 缩位求和 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String num = sc.next(); while (num.length()!=1){ int temp = 0; for (int i = 0; i < num.length(); i++) { temp+=num.charAt(i)-'0'; } num = String.valueOf(temp); } System.out.println(num); } }
2020年10月12日
796 阅读
0 评论
0 点赞
2020-10-10
安卓MPAndroidChart绘制水平柱状图
这个和垂直柱状图一模一样,只不过把控件名换了一下从barchart换成了HorizontalBarChartXML文件<LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="水平柱状图" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <com.github.mikephil.charting.charts.HorizontalBarChart android:id="@+id/horizontalBarChart" android:layout_width="match_parent" android:layout_height="150dp" /> </LinearLayout>MainActivity//初始化水平柱状图 HorizontalBarChart horizontalBarChart = findViewById(R.id.horizontalBarChart); initBarChart(horizontalBarChart); horizontalBarChart.setData(setBarData()); barChart.invalidate(); public BarChart initBarChart(BarChart barChart) { barChart.setDrawBarShadow(false); // 设置每条柱子的阴影不显示 barChart.setDrawValueAboveBar(true); // 设置每条柱子的数值显示 barChart.setPinchZoom(false); XAxis xAxis = barChart.getXAxis(); // 获取柱状图的x轴 YAxis yAxisLeft = barChart.getAxisLeft(); // 获取柱状图左侧的y轴 YAxis yAxisRight = barChart.getAxisRight(); // 获取柱状图右侧的y轴 setAxis(xAxis, yAxisLeft, yAxisRight); //调用方法设置柱状图的轴线 return barChart; } public BarData setBarData() { List<BarEntry> entries = new ArrayList<>(); //定义一个数据容器 //生成随机数数据 for (int i = 0; i <= 12; i++) { entries.add(new BarEntry(i, new Random().nextInt(300))); } BarDataSet barDataSet = new BarDataSet(entries, "测试数据"); BarData barData = new BarData(barDataSet); return barData; //返回可用于柱状图的数据 }文章参考:https://blog.csdn.net/weixin_43344890/article/details/103008320
2020年10月10日
1,362 阅读
0 评论
0 点赞
2020-10-09
安卓MPAndroidChart绘制多层级的堆叠条形图
这次是在上一篇的基础上增加的,所以导包这些啥的就跳过了研究了一下代码,发现主要的区别就在于增加data的时候,第二个参数传递的是一个数组,然后就变成了堆叠条形图。最后的代码:XML布局文件:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="这是一个柱状图" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <com.github.mikephil.charting.charts.BarChart android:id="@+id/barChart" android:layout_width="match_parent" android:layout_height="150dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="这是一个堆叠条形图" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <com.github.mikephil.charting.charts.BarChart android:id="@+id/duiDieChart" android:layout_width="match_parent" android:layout_height="150dp" /> </LinearLayout> </LinearLayout>MainActivity,这里只把堆叠图的代码放出来了,之前的看上一篇文章public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { BarChart duiDieChart = findViewById(R.id.duiDieChart); duiDieChart.getDescription().setEnabled(false); duiDieChart.setMaxVisibleValueCount(40); // 扩展现在只能分别在x轴和y轴 duiDieChart.setPinchZoom(false); duiDieChart.setDrawGridBackground(false); duiDieChart.setDrawBarShadow(false); duiDieChart.setDrawValueAboveBar(false); duiDieChart.setHighlightFullBarEnabled(false); // 改变y标签的位置 YAxis leftAxis = duiDieChart.getAxisLeft(); leftAxis.setDrawGridLines(false); leftAxis.setAxisMinimum(0f); duiDieChart.getAxisRight().setEnabled(false); XAxis xLabels = duiDieChart.getXAxis(); xLabels.setDrawGridLines(true); xLabels.setPosition(XAxis.XAxisPosition.TOP); Legend l = duiDieChart.getLegend(); l.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM); l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT); l.setOrientation(Legend.LegendOrientation.HORIZONTAL); l.setDrawInside(false); l.setFormSize(8f); l.setFormToTextSpace(4f); l.setXEntrySpace(6f); ArrayList<BarEntry> weiZhangZhanBi = new ArrayList<>(); for (int i = 0; i <= 5; i++) { float a = new Random().nextInt(400); float b = new Random().nextInt(400); weiZhangZhanBi.add(new BarEntry(i, new float[]{a, b})); } BarDataSet set1; if (duiDieChart.getData() != null && duiDieChart.getData().getDataSetCount() > 0) { set1 = (BarDataSet) duiDieChart.getData().getDataSetByIndex(0); set1.setValues(weiZhangZhanBi); duiDieChart.getData().notifyDataChanged(); duiDieChart.notifyDataSetChanged(); } else { set1 = new BarDataSet(weiZhangZhanBi, "年龄群体车辆违章的占比统计 "); set1.setColors(getColors()); set1.setStackLabels(new String[]{"有违章", "无违章"}); ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>(); dataSets.add(set1); BarData data = new BarData(dataSets); data.setValueTextColor(Color.WHITE); duiDieChart.setData(data); } duiDieChart.setFitBars(true); duiDieChart.invalidate(); } }看着这篇文章来的:https://blog.csdn.net/qq_26787115/article/details/53323046
2020年10月09日
901 阅读
0 评论
0 点赞
2020-10-09
安卓MPAndroidChart绘制柱状图
首先是添加Jar包进入Gradle Scripts的目录,添加Jar包都在这里首先是Project这个的allprojects里面加上一行allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } } }在app这个里面denpendencies中弄成这样子的dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' }然后这是xml布局文件<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <com.github.mikephil.charting.charts.BarChart android:id="@+id/barChart" android:layout_width="match_parent" android:layout_height="150dp" /> </LinearLayout> </LinearLayout>然后这是Mainactivity的代码package ink.cik.echartsstu; import android.os.Bundle; import android.os.Trace; import androidx.appcompat.app.AppCompatActivity; import com.github.mikephil.charting.charts.BarChart; import com.github.mikephil.charting.charts.LineChart; import com.github.mikephil.charting.components.Description; import com.github.mikephil.charting.components.XAxis; import com.github.mikephil.charting.components.YAxis; import com.github.mikephil.charting.data.BarData; import com.github.mikephil.charting.data.BarDataSet; import com.github.mikephil.charting.data.BarEntry; import java.util.ArrayList; import java.util.List; import java.util.Random; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //定义一下界面的控件 BarChart barChart = findViewById(R.id.barChart); initBarChart(barChart); //初始化一个柱状图 barChart.setData(setBarData()); //给柱状图添加数据 barChart.invalidate(); //让柱状图填充数据后刷新 } public BarData setBarData() { List<BarEntry> entries = new ArrayList<>(); //定义一个数据容器 //生成随机数数据 for (int i = 0; i <= 12; i++) { entries.add(new BarEntry(i, new Random().nextInt(300))); } BarDataSet barDataSet = new BarDataSet(entries, "测试数据"); BarData barData = new BarData(barDataSet); return barData; //返回可用于柱状图的数据 } public BarChart initBarChart(BarChart barChart) { barChart.setDrawBarShadow(false); // 设置每条柱子的阴影不显示 barChart.setDrawValueAboveBar(true); // 设置每条柱子的数值显示 XAxis xAxis = barChart.getXAxis(); // 获取柱状图的x轴 YAxis yAxisLeft = barChart.getAxisLeft(); // 获取柱状图左侧的y轴 YAxis yAxisRight = barChart.getAxisRight(); // 获取柱状图右侧的y轴 setAxis(xAxis, yAxisLeft, yAxisRight); //调用方法设置柱状图的轴线 return barChart; } public void setAxis(XAxis xAxis, YAxis leftAxis, YAxis rightAxis) { xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); // 这里设置x轴在柱状图底部显示 xAxis.setAxisLineWidth(1); //设置x轴宽度 xAxis.setAxisMinimum(0); //设置x轴从0开始绘画 xAxis.setDrawAxisLine(true); //设置x轴的轴线显示 xAxis.setDrawGridLines(false);//设置x轴的表格线不显示 xAxis.setEnabled(true); // 设置x轴显示 leftAxis.setAxisMinimum(0); //设置y轴从0刻度开始 leftAxis.setDrawGridLines(false); // 这里设置左侧y轴不显示表格线 leftAxis.setDrawAxisLine(true); // 这里设置左侧y轴显示轴线 leftAxis.setAxisLineWidth(1); //设置y轴宽度 leftAxis.setEnabled(true); //设置左侧的y轴显示 rightAxis.setAxisMinimum(0); //设置y轴从0刻度开始 rightAxis.setDrawGridLines(false);// 这里设置右侧y轴不显示表格线 rightAxis.setDrawAxisLine(true); // 这里设置右侧y轴显示轴线 rightAxis.setAxisLineWidth(1); //设置右侧y轴宽度 rightAxis.setEnabled(true); //设置右侧的y轴显示 } }
2020年10月09日
2,119 阅读
0 评论
0 点赞
1
...
27
28
29
...
65