小编Mic*_*Bak的帖子

是否有可能在Android中获得视频的分辨率?

我正在寻找一种方法来获得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

17
推荐指数
2
解决办法
1万
查看次数

Android的大堆选项是否适用于升级到ICS的旧手机?

我自己有一个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

14
推荐指数
1
解决办法
9846
查看次数

自定义应用程序未在Android M上创建(最终预览)

Application#onCreate()各州的文件:

在应用程序启动时调用,在创建任何活动,服务或接收方对象(不包括内容提供程序)之前调用.

只要我记得并且许多应用程序依赖于此来初始化各种内容,这在实践中已经成为现实.但是,这种行为似乎随着最新的Android M预览(昨天发布)而改变.

当应用程序第一次安装和启动,自定义ApplicationonCreate()就不会被调用.相反,它会Activity立即启动第一个.

这只发生在第一次应用程序启动时.以下所有应用程序启动工作,并预期运行,且自定义ApplicationonCreate()开始的之前调用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输出

下面的屏幕截图显示了从干净安装启动应用程序后的Logcat输出,然后在8秒后再次启动它.

Logcat输出

android android-6.0-marshmallow

14
推荐指数
1
解决办法
889
查看次数

使用jCIFS流文件进行Android ServerSocket编程

我有一个问题,我已经问过很多次了,但我想我现在离我们更近了一步,所以希望有人可以帮助我完成剩下的工作.

我以前的问题:

简单地说 - 我想创建一个应用程序:

  1. 可以使用jCIFS连接到NAS设备
  2. 能够在默认查看器中启动文件 - 即视频播放器中的视频

第一部分相对容易,我已经做到了,但第二部分是令我不安的问题,以及我之前几次问过的问题.我想我已经取得了一些进展.

我想我需要ServerSocket在我的应用程序中使用a 以某种方式在NAS和播放内容的应用程序之间建立桥梁.我想这可以用a来完成Service.来自NAS设备的文件可以作为a访问FileInputStream.

市场上有很多应用程序(即ES文件资源管理器)能够在没有root访问权限的情况下执行此操作,所以我知道这是可能的 - 目前我还不知道如何.

我的想法的例证

我一直在使用一些上述应用程序时查看Logcat,它们似乎都在创建本地服务器,然后Intent从该服务器启动视频.怎么能实现这一目标?

smb android jcifs serversocket

12
推荐指数
1
解决办法
1万
查看次数

支持Honeycomb的两种景观方向

是否有可能支持Honeycomb的两种景观方向?我的应用程序仅设置为横向,但如果将设备翻转180度则不会更改.

android screen orientation screen-orientation android-3.0-honeycomb

11
推荐指数
1
解决办法
2504
查看次数

获得冰淇淋三明治的真实屏幕分辨率

带有冰淇淋三明治的设备可以使用屏幕上的软键,这意味着这些按键可以占用一些屏幕.我需要获得真正的屏幕分辨率,而不是分辨率减去软键占用的空间.

我尝试了以下,但都不起作用:

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 screen-resolution android-4.0-ice-cream-sandwich

11
推荐指数
1
解决办法
4973
查看次数

ANDROID:使用Java访问CIFS共享

我正在编写我的第一个Android应用程序,它或多或少将成为一个挂载点管理器.本地安装和NFS安装很容易,但我不知道如何去CIFS共享.

理想情况下,在选择主机后,将显示CIFS共享列表.至少,我应该能够输入CIFS URI /共享字符串并挂载它(例如://192.168.1.100/mount_point).我正在考虑EStrongs,您可以在其中选择主机,它将显示共享,然后您可以进一步探索.

我见过jCIFS(我认为这是Astro使用的),我在xda-developers上看到了cifs.ko模块的提及.还有其他标准方法吗?关于如何使用jCIFS或cifs.ko并一般地执行此操作的任何提示/建议?我宁愿不必获得root访问权限.

java smb android cifs

10
推荐指数
1
解决办法
4714
查看次数

具有全高清分辨率的Android SDK模拟器

因此,我今天刚收到第四封电子邮件,内容是关于支持最新版本的平板电脑,其中一个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

9
推荐指数
0
解决办法
708
查看次数

用"."拆分字符串.(点)处理缩写时

我发现这很难解释,所以我将开始介绍我想要实现的前后几个例子.

输入示例:

你好,世界

这是一个测试

The.SWATTeam

扑打

扑打

2001.A.Space.Odyssey

通缉输出:

你好,世界

这是一个测试

特警队

扑打

扑打

2001年太空漫游

基本上,我想创建一些能够通过点分割字符串的东西,但同时处理缩写.

我对缩写的定义是至少有两个字符(无关紧要)和两个点,即"AB"或"ab".它不应该与数字一起使用,即"1.a.".

我用正则表达式尝试了各种各样的东西,但这并不是我的强项,所以我希望这里的某个人有任何我可以使用的想法或指示.

java regex

9
推荐指数
1
解决办法
1388
查看次数

在Android 5.0中转换ImageView时出现奇怪的问题

我遇到了一个关于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

9
推荐指数
1
解决办法
2849
查看次数