我正在寻找一种方法来获得Android中任何给定视频的分辨率.它不必与Android中支持的其他格式一起使用,但如果确实如此,它会很棒.如果您不确定Android中支持的格式,请参阅此页面:
http://developer.android.com/guide/appendix/media-formats.html
我认为使用MediaPlayer该类可以做我想做的事情,但这看起来非常愚蠢和低效.而且,我想要一种相对较快的方式.
我的目标是Android 3.0+,如果这有任何区别的话.Honeycomb还支持.mkv文件,虽然直到Android 4.0才正式支持.
video android android-3.0-honeycomb android-4.0-ice-cream-sandwich
我自己有一个Galaxy Nexus,而且我知道android:largeHeap="true"清单选项适用于这款手机,但我想知道它是否适用于升级到冰淇淋三明治的旧款手机,即三星Nexus S.
我之所以要问的是,我已经构建了一个大量使用大位图的应用程序,该应用程序最初是为具有48 MB堆大小的平板电脑而设计的.Galaxy Nexus还为每个应用程序提供48 MB的可用堆大小,因此我的应用程序在这款手机上运行得非常漂亮,尽管它不是平板电脑.
问题是Nexus S只有32 MB的堆可用,所以我真的需要大堆选项让应用程序在这些带有ICS的旧手机上运行.
我的问题:该android:largeHeap选项是否仍会增加可用堆内存?即如果Nexus S默认为32 MB,我可以通过使用它来访问64 MB的perhap吗?
对于那些不熟悉此选项的人,它会以降低性能为代价增加应用程序的可用堆内存量.只有在没有其他选择的情况下才能使用它.
更新
这是显示可用堆大小的应用程序包:http://michellbak.dk/TestHeapSize.apk
源代码如下所示,表明没有任何危害:
package com.miz.heapsize;
import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActivityManager am = ((ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE));
int memory = am.getMemoryClass();
int largeMemory = am.getLargeMemoryClass();
text = (TextView) findViewById(R.id.textView1);
text.setText("Normal heap size: " + memory + "\nLarge heap size: " …Run Code Online (Sandbox Code Playgroud) android bitmap android-3.0-honeycomb android-4.0-ice-cream-sandwich
Application#onCreate()各州的文件:
在应用程序启动时调用,在创建任何活动,服务或接收方对象(不包括内容提供程序)之前调用.
只要我记得并且许多应用程序依赖于此来初始化各种内容,这在实践中已经成为现实.但是,这种行为似乎随着最新的Android M预览(昨天发布)而改变.
当应用程序第一次安装和启动,自定义Application的onCreate()就不会被调用.相反,它会Activity立即启动第一个.
这只发生在第一次应用程序启动时.以下所有应用程序启动工作,并预期运行,且自定义Application的onCreate()开始的之前调用Activity.
BaseApplication
public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.d("App", "Test: Application.onCreate()");
}
}
Run Code Online (Sandbox Code Playgroud)
FirstActivity
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("App", "Test: Activity.onCreate()");
}
}
Run Code Online (Sandbox Code Playgroud)
应用清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.package.name" >
<application android:name=".application.BaseApplication" >
[...]
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
下面的屏幕截图显示了从干净安装启动应用程序后的Logcat输出,然后在8秒后再次启动它.
我有一个问题,我已经问过很多次了,但我想我现在离我们更近了一步,所以希望有人可以帮助我完成剩下的工作.
我以前的问题:
简单地说 - 我想创建一个应用程序:
第一部分相对容易,我已经做到了,但第二部分是令我不安的问题,以及我之前几次问过的问题.我想我已经取得了一些进展.
我想我需要ServerSocket在我的应用程序中使用a 以某种方式在NAS和播放内容的应用程序之间建立桥梁.我想这可以用a来完成Service.来自NAS设备的文件可以作为a访问FileInputStream.
市场上有很多应用程序(即ES文件资源管理器)能够在没有root访问权限的情况下执行此操作,所以我知道这是可能的 - 目前我还不知道如何.

我一直在使用一些上述应用程序时查看Logcat,它们似乎都在创建本地服务器,然后Intent从该服务器启动视频.怎么能实现这一目标?
是否有可能支持Honeycomb的两种景观方向?我的应用程序仅设置为横向,但如果将设备翻转180度则不会更改.
android screen orientation screen-orientation android-3.0-honeycomb
带有冰淇淋三明治的设备可以使用屏幕上的软键,这意味着这些按键可以占用一些屏幕.我需要获得真正的屏幕分辨率,而不是分辨率减去软键占用的空间.
我尝试了以下,但都不起作用:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.d("SCREEN RES", "Width: " + width + ". Height: " + height);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
height = metrics.heightPixels;
width = metrics.widthPixels;
Log.d("SCREEN RES", "Width: " + width + ". Height: " + height);
Run Code Online (Sandbox Code Playgroud)
这是输出:
12-19 20:18:42.012: D/SCREEN RES(20752): Width: 1196. Height: 720
12-19 20:18:42.012: D/SCREEN RES(20752): Width: 1196. Height: 720
Run Code Online (Sandbox Code Playgroud)
真正的屏幕分辨率是1280 x 720像素,而不是1196 x 720像素.
有任何想法吗?
编辑
我正在使用以下代码将应用程序全屏显示:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
Run Code Online (Sandbox Code Playgroud) 我正在编写我的第一个Android应用程序,它或多或少将成为一个挂载点管理器.本地安装和NFS安装很容易,但我不知道如何去CIFS共享.
理想情况下,在选择主机后,将显示CIFS共享列表.至少,我应该能够输入CIFS URI /共享字符串并挂载它(例如://192.168.1.100/mount_point).我正在考虑EStrongs,您可以在其中选择主机,它将显示共享,然后您可以进一步探索.
我见过jCIFS(我认为这是Astro使用的),我在xda-developers上看到了cifs.ko模块的提及.还有其他标准方法吗?关于如何使用jCIFS或cifs.ko并一般地执行此操作的任何提示/建议?我宁愿不必获得root访问权限.
因此,我今天刚收到第四封电子邮件,内容是关于支持最新版本的平板电脑,其中一个10英寸的屏幕,分辨率为1920 x 1200像素.我的应用程序中的布局是针对每种设备类型的最佳选择而定制的,但是我不可能以1920 x 1200像素分辨率启动SDK模拟器,因此我无法进行布局这个屏幕尺寸.
我已经多次向Android开发者团队提及他们每周的Google+视频群聊问题(并且他们并不在乎),我在Stack Overflow和网络上看到了很多关于它的其他问题我也是还向Android Tools网站提出了有关此问题的两个错误.我仍然留下一个不能在这些高分辨率下工作的模拟器.
市场上有一些具有这些高分辨率的设备,我知道Android操作系统支持它,所以我被模拟器的极限所困扰.
我的电脑是一款功能强大的电脑,可以运行它,以前从未出现过低分辨率仿真器的问题.如果有人能帮助我,我会非常高兴,因为这让我疯狂.
android android-3.0-honeycomb android-4.0-ice-cream-sandwich
我发现这很难解释,所以我将开始介绍我想要实现的前后几个例子.
输入示例:
你好,世界
这是一个测试
The.SWATTeam
扑打
扑打
2001.A.Space.Odyssey
通缉输出:
你好,世界
这是一个测试
特警队
扑打
扑打
2001年太空漫游
基本上,我想创建一些能够通过点分割字符串的东西,但同时处理缩写.
我对缩写的定义是至少有两个字符(无关紧要)和两个点,即"AB"或"ab".它不应该与数字一起使用,即"1.a.".
我用正则表达式尝试了各种各样的东西,但这并不是我的强项,所以我希望这里的某个人有任何我可以使用的想法或指示.
我遇到了一个关于ImageViewAndroid 5.0中的活动之间转换的奇怪问题/错误.
我试图从缩略图转换Fragment A(中Activity A)到的头部图像Fragment B(在Activity B).它大部分时间都运行良好,但它有时会轻微混乱.
这是一张它弄乱时的样子:

当然,它应该填满整个区域.两个ImageView都设置为ScaleType.CENTER_CROP,所以我无法想象这是问题.
令人好奇的是,该问题在滚动时立即自行修复Activity B(所有内容都包含在子类中ScrollView,ImageView在滚动时更改填充).
启动代码Activity B非常简单:
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
activity, thumbImageView, "cover"); // "cover" is the shared element name for both ImageViews
ActivityCompat.startActivity(activity, intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
这是可观察的ScrollView侦听器的代码:
scrollview.setOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) {
// Such parallax, much wow
headerImageView.setPadding(0, (int) …Run Code Online (Sandbox Code Playgroud) android android-5.0-lollipop activity-transition shared-element-transition
android ×9
android-4.0-ice-cream-sandwich ×4
java ×2
smb ×2
bitmap ×1
cifs ×1
jcifs ×1
orientation ×1
regex ×1
screen ×1
serversocket ×1
video ×1