小编Ale*_*dro的帖子

可以在Android 4及更高版本的URL上显示视频缩略图吗?

以下两个在仿真器(2.3.3)上工作正常,但在真实设备(带有4.1.2的Nexus S)上没有显示缩略图的图像.我也会尝试运行它Android 4 Emulator.如果我android:src为其设置了默认值ImageView,则不再显示.这让我觉得它被替换了,但是它ImageView是空的.

public class MainActivity extends Activity {

    ImageView img;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        img = (ImageView)findViewById(R.id.img_thumbnail);
        new MyAsync().execute("http://commonsware.com/misc/test.mp4");
    }

    //This version is still not working, but it's more readable (edited: Selvin).
    public class MyAsync extends AsyncTask<String, Void, Bitmap>{

        @Override
        protected Bitmap doInBackground(String... objectURL) {
            //return ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND);
            return ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(objectURL[0], Thumbnails.MINI_KIND), 100, 100);
        }

        @Override
        protected void onPostExecute(Bitmap result){
             img.setImageBitmap(result);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道之前已经提出类似的问题, …

url android bitmap video-thumbnails

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

如何在Android App中播放来自Amazon S3的视频?

aws-android-sdk-1.4.3/samples/S3_SimpleDB_SNS_SQS_Demo用来预览存储在亚马逊(亚马逊简单存储服务)上的文件.通过代码我看到他们使用它来访问文件:

com.amazonaws.demo.s3.S3.getDataForObject (line 130)

 public static String getDataForObject( String bucketName, String objectName ) {
        return read( getInstance().getObject( bucketName, objectName ).getObjectContent() );
    }


protected static String read( InputStream stream ) {
    try {
        ByteArrayOutputStream baos = new ByteArrayOutputStream( 8196 );
        byte[] buffer = new byte[1024];
        int length = 0;
        while ( ( length = stream.read( buffer ) ) > 0 ) {
            baos.write( buffer, 0, length );
        }

        return baos.toString();
    }
    catch ( Exception exception ) {
        return exception.getMessage(); …
Run Code Online (Sandbox Code Playgroud)

video android amazon-s3 bytearrayoutputstream amazon-web-services

6
推荐指数
1
解决办法
6878
查看次数

java.lang.LinkageError:MainActivity

productFlavours在我的应用中使用.我也在使用multi dex.

 defaultConfig {
         multiDexEnabled true
         minSdkVersion 17
         targetSdkVersion 22
         ... 
 }

productFlavors {
  prodFlavor1{...}
  prodFlavor2{...}
 }

dependencies {
    compile 'com.android.support:multidex:1.0.1'
...
}
Run Code Online (Sandbox Code Playgroud)

在Application类中:

@Override
    public void onCreate() {
        MultiDex.install(getApplicationContext());
        super.onCreate();
}
Run Code Online (Sandbox Code Playgroud)

我为5以下版本的Android版本添加了以上代码.

然后,下面的结构,有两个略有不同的版本MainActivity(MainActivity扩展AppCompatActivity)在应用程序的某个时刻开始,按下按钮.

app/src/prodFlavor1/.../MainActivity
app/src/prodFlavor2/.../MainActivity
Run Code Online (Sandbox Code Playgroud)

prodFlavor1,MainActivity之后立即开始SplashActivity.在prodFlavor2,MainActivity.

这之前很长一段时间,甚至在我添加了这部分之后multidex,但突然弯腰工作,没有任何解释.即使我删除了引用multidex的代码,我也会得到同样的东西.

当我切换到prodVersion2一切正常.但当我切换到prodVersion1我得到:

startActivity(new Intent(TutorialActivity.this,MainActivity.class));

适用于Android 6的Nexus 5:

Process: com.mpackage, PID: 30807
                                                             java.lang.LinkageError: com.mpackage.activities.MainActivity
                                                                 at dalvik.system.DexFile.defineClassNative(Native Method)
                                                                 at dalvik.system.DexFile.defineClass(DexFile.java:226)
                                                                 at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
                                                                 at dalvik.system.DexPathList.findClass(DexPathList.java:338)
                                                                 at …
Run Code Online (Sandbox Code Playgroud)

android android-productflavors android-multidex

6
推荐指数
1
解决办法
1895
查看次数

有些Android SDK组件不想安装.为什么?

Android 2.2(API8):
-GALAXY Tab by Samsung Electronics,
-Real3D by LGE,
-Dual Screen APIs by KYOCERA Corporation,
Android 2.3.3 (API10):
-Dual Screen APIs by KYOCERA Corporation,
Android 3.1(API12):
-Google TV by Google Inc - this says "Not compatible with Windows"
Run Code Online (Sandbox Code Playgroud)

我理解这里,但其他的?我点击"安装包",我可以看到它正在加载和安装.它说"完成",但他们的状态仍然是"未安装".我希望安装所有可用的更新.如果有人知道为什么会发生这种情况以及如何解决,请分享.安装了除Android 4.0之外的所有其他软件包.

android updates android-2.2-froyo

5
推荐指数
1
解决办法
1361
查看次数

是否可以将尺寸设置为与地图缩放级别无关的groundOverlay?

我有一个GroundOverlay在我身上GoogleMap,我希望当我在地图上放大/缩小时它的尺寸不会改变.完全像默认地图markers,始终保持其尺寸.我尝试了两种形式,GroundOverlay.setDimensions()但图像仍然在缩放时调整大小.这是我的代码:

 Bitmap btm = BitmapFactory.decodeResource(getResources(), R.drawable.map_arrow);
 BitmapDescriptor arrow = BitmapDescriptorFactory.fromBitmap(btm);
 float w = btm.getWidth();
 float h = btm.getHeight();

if (groundOverlay != null) groundOverlay.remove();
 groundOverlay = mMap.addGroundOverlay(new GroundOverlayOptions()
            .image(arrow).position(meLoc, w,h).bearing(bearAngle));
 groundOverlay.setDimensions(1000);
Run Code Online (Sandbox Code Playgroud)

android google-maps overlay zooming google-maps-android-api-2

5
推荐指数
1
解决办法
3073
查看次数

活动过渡滑动进/出动画

我知道这是互联网上的一些例子,而且在Stackoverflow上我发现了许多例子,但是不相信它们,它们都没有满足我的需求.即使我前几次问过类似的问题,我也再次陷入这个问题.基本上是相同的问题,但方向相反.我可以做任何我想要的动画,Activity B但这里的问题是Activity A我可以在几个场景中制作动画.基本上只在这个组合中ActivityA播放enter_left:

overridePendingTransition(R.anim.enter_from_right, R.anim.exit_on_left);

我想要做的是动画(移动)只是Activity A无论是在startActivity()onBackPressed()同时Activity B在屏幕上停留不为所动.Activity A总是画在上面(作为一个滑动菜单,我可以这样做Activity B).我真的认为上面的代码片段可以完成这项工作:

Intent intent = new Intent(ActivityA.this, ActivityB.class);
                startActivityForResult(intent, 500);
                overridePendingTransition(R.anim.stay_still, R.anim.exit_on_left);
Run Code Online (Sandbox Code Playgroud)

但这甚至不播放任何动画

//this is the animation for onBackPressed()
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        overridePendingTransition(R.anim.enter_from_left, 0);
    }
Run Code Online (Sandbox Code Playgroud)

动画Activity A我想要但Activity B突然从屏幕上消失,我想留下(设置(R.anim.enter_from_left, R.anim.stay_still)什么也不做).

我准备了所有5个必要的动画:

enter_from_left

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" > …
Run Code Online (Sandbox Code Playgroud)

animation android android-xml android-activity

5
推荐指数
1
解决办法
6155
查看次数

从多个通知启动活动会覆盖之前的意图

public static void showNotification(Context ctx, int value1, String title, String message, int value2){

    NotificationManager notificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);

    Intent notificationIntent = new Intent(ctx, ActivityMain.class);
    int not_id = Utils.randInt(1111, 9999);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    notificationIntent.putExtra("key_1", value1);
    notificationIntent.putExtra("key_2", value2);

    TaskStackBuilder stackBuilder = TaskStackBuilder.create(ctx.getApplicationContext());
    stackBuilder.addNextIntent(notificationIntent);
    PendingIntent notifPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

    notificationManager.notify(not_id, createNotification(ctx, notifPendingIntent, title, message));
}
Run Code Online (Sandbox Code Playgroud)

这是我发送和显示notification. 我从服务发送这个。正如你所看到的,我发送了 2 个额外的值,目的是(key_1key_2);当我单击通知时,我应该打开活动并查看按键的value1和。value2

问题是:如果在我打开其中任何一个之前收到另一个通知,value1并且value2该通知被覆盖。例如:

  • 第一个通知发送foo并且bar

    • 第二个通知发送faz并且baz

    • 第三次通知发送fubarfobaz …

notifications android android-intent android-pendingintent

5
推荐指数
1
解决办法
1256
查看次数

如何仅使用不同的值获取游标?

我想只返回一个列的不同值的游标."组"列有更多项目,但只有2个值:1,2,1,1,1,2,2,2,1

String[] FROM = {Groups,_ID};

public Cursor getGroups(){
//......
return db.query(TABLE_NAME,FROM,null,null,null,null,null);
}
Run Code Online (Sandbox Code Playgroud)

将返回一个包含{1,2,1,1,1,2,2,2,1}的游标,但我想只包含{1,2}.

sqlite android cursor distinct-values

4
推荐指数
2
解决办法
6550
查看次数

如何在SQLite中修改项目的值?

假设我有这个sqlite数据库结构:

 ID     PRODUCT_NAME     AVAILABILITY 

  1       foo            0
  2       bar            1
  3       baz            0
  4       faz            1
Run Code Online (Sandbox Code Playgroud)

我如何修改fom的值AVAILABILITY- > 0在哪里PRODUCT_NAME = 'bar'?像这样的东西,Pseudocod:

db.execSQL( "UPDATE TABLE" + Table_name + "MODIFY" + availability + "=" + 0 + "WHERE" +  product_name + "like ? " + 'bar');
Run Code Online (Sandbox Code Playgroud)

我假设我还必须使用onCreate()和onUpgrade()方法删除并重新创建表,对吧?一些代码将受到高度赞赏.

sqlite android

4
推荐指数
1
解决办法
7872
查看次数

清单中 DownloadManager.ACTION_DOWNLOAD_COMPLETE 的接收器

是否可以在Manifest.xml中监听DownloadManager.ACTION_DOWNLOAD_COMPLETE

我发现的所有示例registerReceiver(downloadCompleteReceiver,new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));均来自 a class,但我希望在 Manifest.xml 中接收它,以便我可以在应用程序关闭时收听。当我尝试在 Manifest.xml 中为接收器设置意图过滤器时,我找不到此操作

android android-manifest android-download-manager

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