小编idi*_*ish的帖子

从SD卡加载drawable

我正在尝试从我的设备SD卡中加载一个png图像作为drawable.我使用以下函数,但它不起作用:

public Drawable getDrawable()
{
return new BitmapDrawable(imagePath);
}
Run Code Online (Sandbox Code Playgroud)

图像路径为:mnt/sdcard/MyFolder/image.png

当我尝试调用该方法时应用程序崩溃,我应该如何加载位于我的SD卡中的png图像并将其转换为Drawable对象?

java android path sd-card drawable

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

将应用程序配置为Facebook错误:"应用程序配置错误,无法登录Facebook .."

可能重复:
App登录配置错误:Android Facebook集成问题

我正在尝试将facebook集成到我的应用中.当我按下登录按钮并填写电子邮件和密码时,我在应用程序中收到错误消息:"

应用程序错误配置Facebook登录..

"然后我必须按"好"按钮然后关闭.

我已经填写了我的Facebook应用程序中的字段,这是一张图片: 在此输入图像描述

另外,在logcat中我按下"登录"按钮(我创建的按钮,弹出facebook登录).我看到以下错误:

无法找到com.facebook.katana.AttributionIdProvider的提供商信息

为什么Facebook登录不起作用?

编辑:按下Okay按钮后,logcat不会抛出任何错误.

java android facebook

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

在SQLCipher中设置密码

我想用SQLCipher创建一个新的加密数据库,由于以下链接,我并没有真正找不到如何设置密钥:http://sqlcipher.net/sqlcipher-api/#key

正如文档所解释的那样,我必须使用PRAGMA设置密钥,但是从哪里开始执行该命令?

java sql database sqlite sqlcipher

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

使用 C# 在运行时编译 java 代码

我知道可以在运行时使用 C#CSharpCodeProvider和 CodeDom编译 C# 代码。

是否也可以编译Java?如果不是,有没有其他选择?

我希望我的应用程序能够编译 C# 和 Java 代码。

c# java runtime compilation

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

获取图像缩略图文件路径

我正在尝试获取thumnail 路径,而不是位图对象.
当我查询这些时,由于某种原因,某些缩略图路径为空.(我的设备中有1028个缩略图,光标长度确实是1028,但仍然返回空值)我知道有1028个缩略图,因为我查了一下.这是我的代码:

     String[] projection = {MediaStore.Images.Thumbnails._ID};
  // Create the cursor pointing to the SDCard

  cursor = this.getContentResolver().query( MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
          projection, // Which columns to return
          null,       // Return all rows
          null,
          MediaStore.Images.Thumbnails.IMAGE_ID);
  // Get the column index of the Thumbnails Image ID
  Log.d(Global.TAG, "BEFORE");
  columnIndex = cursor.getColumnIndex(MediaStore.Images.Thumbnails._ID);
  Log.d(Global.TAG, "AFTER1");
  for(int i =0;i<cursor.getCount();i++){
      cursor.moveToPosition(i);

      Log.d("MyTag","BBABA" + i +" : " + getThumbnailPathForLocalFile(cursor.getLong(columnIndex)));
  }
  cursor.close();
Run Code Online (Sandbox Code Playgroud)

我的getThumbnailPathForLocalFile:

    String getThumbnailPathForLocalFile(long fileId)
 {
    // Log.d(Global., msg)
     Cursor thumbCursor = null;
     try
     {
         thumbCursor = …
Run Code Online (Sandbox Code Playgroud)

media android path thumbnails cursor

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

Topmost View因重叠而吞下触摸事件

所以这是我的布局结构:

- RelativeLayout (full screen)
  - FrameLayout (full screen)
  - Button (in the middle of the screen)
  - RecyclerView (align parent bottom but with very big padding top to 
    capture the scrolling also in the top of the screen, so it's basically acting like a full screen `RecyclerView`)
Run Code Online (Sandbox Code Playgroud)

所以是的,这些观点相互重叠.

由于RecyclerView它是最顶层的视图,它捕获屏幕上的所有触摸事件,并吞下它们,防止任何触摸"通过它"到它下面的底层视图.(注意:根据基本观点,我不是指RecyclerView孩子而是其他rootview's孩子)

我已经阅读了大量关于传播触摸事件和防止吞咽触摸事件等的stackoverflow帖子,即使看起来非常简单的任务,我也无法实现以下效果:

我想要我RecyclerView捕捉触摸事件,所以它会滚动或其他任何东西.但是我想要rootView认为RecyclerView没有捕获事件,并继续传递给其他孩子(rootview的孩子).

这是我试图做的事情:

1.重写dispatchTouchEventRecyclerView做它的逻辑并返回false作为它没有调度其触摸事件,因此rootview将继续迭代通过其子视图触摸.

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    super.dispatchTouchEvent(ev); …
Run Code Online (Sandbox Code Playgroud)

java android android-custom-view android-layout android-view

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

使用MVVM显示枚举等于字符串的值

我的目标是数据绑定与我的枚举相同的字符串.

    public enum Language
    {
        Unknown=0,CSharp=1,VB=2,VisualCpp=3,FSharp=4
    }

    public enum ProjectType
    {
        Unknown=0,ConsoleApplication=1,ClassLibrary=2
    }
Run Code Online (Sandbox Code Playgroud)

这是我的模型:

  class PLanguage
  {
    public Language EnumLanguage { get; set; }
    public string ImagePath { get; set; }
    public List<ProjectType> EnumTypes { get; set; }

  }
Run Code Online (Sandbox Code Playgroud)

MyViewModel:

  class PLanguageViewModel : ViewModelBase
  {

    public PLanguage PLanguage { get; set; }
    private ObservableCollection<string> _typeCollection;
    public PLanguageViewModel(PLanguage pLanguage)
    {
        PLanguage = pLanguage;
    }
            public ObservableCollection<string> TypeCollection
    {
        get{} //CAST PLanguage.EnumTypes FROM ENUM TO STRING
    }
    public string ImagePath
    {
        get …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf enums mvvm

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

Android ImageView设置Bitmap FitXY不起作用

我一直在尝试设置位图很长时间以使其适合ImageView边界.

它只是无法正常工作scaleType: fitXY.我的位图图像大小低于ImageView's(保存在100X100像素),我希望我的位图图像适合并伸展到ImageView.

这是一些代码:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/imageView" 
   android:layout_height="match_parent"
   android:layout_width="match_parent"
   android:src="@drawable/locked_image"
   android:scaleType="fitXY"
/>
Run Code Online (Sandbox Code Playgroud)

这是设置的代码ImageView(我scaleType在不同的地方设置测试):

@Override
public View getView(int position, View convertView, ViewGroup parent) {
  final ImageView imageView;
  if (convertView == null) {
    imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
    imageView.setScaleType(ScaleType.FIT_XY);
  } else {
    imageView = (ImageView) convertView;
    imageView.setScaleType(ScaleType.FIT_XY);
  }

  imageLoader.displayImage(imagesIds[position], imageView, options);
  imageView.setScaleType(ScaleType.FIT_XY);
  return imageView;
}
Run Code Online (Sandbox Code Playgroud)

以下是它的外观:

在此输入图像描述

正如你所看到的,高度ImageView很好,但我想它的宽度是一样的.我无法通过我的活动访问我的位图图像,所以请不要让我调整我的位图大小.我真的不明白为什么它不能正常工作.


编辑:
只是为了使问题更容易理解.ImageView计算每个设备的高度.每个设备都不同.我希望我的宽度ImageView与它的高度相同.我正在使用该Two-WayGridView库来显示图像,如果它有任何区别.

android image scale imageview android-imageview

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

恢复SQLite DB文件

我正在我的Android应用程序中实现备份/恢复系统.

每隔几分钟就会发生一次自动备份.在我的应用程序被卸载然后再次安装之后,我正在尝试从我的SD卡恢复我的数据库备份文件.

备份有效,但问题在于:
每当用户再次安装我的应用程序时,就会发现文件未找到异常,但是,如果用户关闭应用程序,然后再次打开它,则恢复就可以了.不知何故,恢复首次启动应用程序时会遇到问题.

还原必须在首次启动时进行.

注意: backupExists函数返回true.

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(backUpExists()){

        restoreDB();
      }
}
     private boolean backUpExists()
  {
    try{
        File sd = Environment.getExternalStorageDirectory();
        if (sd.canRead()){
            String backupDBPath = "myDB";
             File backupedDB = new File(sd, backupDBPath);
             if(backupedDB.exists()){
                 return true;
             }
        }
    } catch(Exception ex) {
         Toast.makeText(getBaseContext(), ex.toString(), Toast.LENGTH_LONG).show();
    }
        return false;
  }
  private void restoreDB()
  {
    try{
        File sd = Environment.getExternalStorageDirectory();
        File data = Environment.getDataDirectory();

        if (sd.canWrite()) {
            String restroredDBPath = "//data//myPackage//databases//myDB";
            String backupDBPath = "myDB"; …
Run Code Online (Sandbox Code Playgroud)

sqlite android database-restore database-backups android-sdcard

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

多个drawables背景图像,以适应屏幕分辨率

好吧,所以我有一个图像,它的分辨率是:1054X1054.我想设置该图像,使其完全符合Android设备的屏幕尺寸.(我将在某些编辑器中剪切图像作为nessacary).所以我的问题是:我怎么知道我的图像应该是什么分辨率,因此它将覆盖设备背景而无需调整图像大小.(对于mdpi,hdpi,ldpi)

我问这个问题,因为我一直在误解"多屏幕分辨率"是如何工作的.

java android resolution dpi drawable

3
推荐指数
1
解决办法
704
查看次数