小编Jer*_*gan的帖子

为什么我的SD卡不可写(Android)?

在模拟器中,我似乎无法写入附加的SDCard.以下代码总是吐出"无法写入根"的日志消息,而不是"无法读取根"的消息.

File routesRoot = Environment.getExternalStorageDirectory();
if (!routesRoot.canWrite())
    Log.v(getClass().getSimpleName(), "can't write root");
if (!routesRoot.canRead())
    Log.v(getClass().getSimpleName(), "can't read root");
Run Code Online (Sandbox Code Playgroud)

想法?

storage android sd-card

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

如何在Android中设置布局的宽度?

有没有办法设置布局的宽度.

因为大多数时候它不起作用?

java android

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

为什么WebView无法打开某些本地URL(Android)?

我有一个WebView我用来打开存储在assets/我的项目目录中的一些文件.它适用于大多数文件,但有一个特别是(我确定其他我没有找到),它只是不会打开.

我遇到问题的文件名为:

"assets/ContentRoot/Photos/XXX Software Logo - jpg - 75%.JPG"
Run Code Online (Sandbox Code Playgroud)

当我将其传递给它WebView,并显示错误页面时,它显示为:

"file:///android_asset/ContentRoot/Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%.JPG"
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行URLEncoder.encode()它并获得错误页面,其URL显示为:

"file:///android_asset/ContentRoot/Photos/XXX+Software+Logo+-+jpg+-+75%.JPG"
Run Code Online (Sandbox Code Playgroud)

这些URL都不能打开文件(它们对我来说都没问题).有人有主意吗?

更新:如果我%手工编码(使用%25,如commonsware.com建议)然后它加载图像,但它尝试将其解析为文本,而不是图像,所以我只是得到了很多(基本上)垃圾.

主持者imgur.com

另外,引用带有相对URL的HTML文档中的图像不起作用(可能是因为它没有被解析为图像?):

<img src="../Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%.JPG" />
<img src="../Photos/XXX%20Software%20Logo%20-%20jpg%20-%2075%25.JPG" />
Run Code Online (Sandbox Code Playgroud)

url android webview

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

使用ProgressDialog和onCreateDialog/onPrepareDialog时出现问题

我正在使用以下代码创建ProgressDialog(在我的Activity中):

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DIALOG_LOOKUP:
            return new ProgressDialog(this, ProgressDialog.STYLE_SPINNER);
    }
    return null;
}

@Override
protected void onPrepareDialog(int id, Dialog dialog) {
    switch (id) {
        case DIALOG_LOOKUP:
            dialog.setCancelable(true);
            dialog.setTitle(R.string.dialogLookup_title);
            ((ProgressDialog)dialog).setMessage(getResources().getString(R.string.dialogLookup_message));
            dialog.setOnCancelListener(new OnCancelListener() {
                @Override
                public void onCancel(DialogInterface dialog) {
                    Toast.makeText(MyActivity.this, "canceled", Toast.LENGTH_SHORT).show();
                }
            });
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是它实际上并没有设置标题,而是把它放在一些奇怪的双框中.

它给了我这个:

进展不好

但是我期待更像这样的东西:

进展顺利

有任何想法吗?

android progressdialog

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

更改Material google条形图中的x轴刻度

我正在尝试使用https://developers.google.com/chart/interactive/docs/gallery/barchart#top-x构建使用情况条形图.我想知道如何最大化X轴刻度线的范围?我已经尝试在小提琴https://jsfiddle.net/gbta075L/中使用来自另一个帖子的建议 - 在谷歌图表中设置x轴范围,但这不起作用.这就是我在现有小提琴中添加的内容:

hAxis: {
        viewWindow: {
              max: 200
        },
        ticks: [0,50,100]
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.任何帮助将非常感激!

javascript charts google-visualization

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

你如何使Android"Home"快捷方式绕过应用程序的历史记录?

我有一个应用程序,允许您创建特定的主页"快捷方式" Activity.事实证明,我的一些用户将使用该应用程序,点击主键以执行其他操作,然后使用其中一个快捷方式跳回该活动.由于应用程序仍在内存中,因此只需Activity在其他应用程序之上打开新内容,"后退"键将在整个历史记录中将其恢复.我想要发生的是,如果他们使用快捷方式然后有效地杀死历史记录并让后退键退出应用程序.有什么建议?

android shortcut android-activity

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

在调用构造函数而不是在构造函数中设置实例的变量有什么好处吗?

例如:

public class Foo {
    private int bar = 42;

    Foo() {}
}
Run Code Online (Sandbox Code Playgroud)

VS

public class Foo {
    private int bar;

    Foo() {
        bar = 42;
    }
}
Run Code Online (Sandbox Code Playgroud)

这两种方法之间有任何成本/收益吗?我能看到它有所作为的唯一方法是在这样的场景中(你为第二个构造函数设置两次值):

public class Foo {
    private int bar = 42;

    Foo() {}

    Foo(int in) {
        bar = in;
    }
}
Run Code Online (Sandbox Code Playgroud)

vs(无论哪种方式你只设置一次)

public class Foo {
    private int bar;

    Foo() {
        this(42);
    }

    Foo(int in) {
        bar = in;
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?这样或那样做有什么固有的价值吗?

编辑

好吧,我意识到这些功能是相同的,我想弄清楚的是,如果有任何重大的处理成本与另一个相关联.似乎它应该是可以忽略的,充其量,但我想确认我的怀疑.

编辑2

我也意识到手动设置它们可以消除启动逻辑的可能性.这就是我选择这么简单的例子的原因.我编辑了问题文本,以反映我感兴趣的是效率.

java

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

在转发到JSP时,如何检测Java Servlet中的URL?

我有一个看起来像这样的servlet:

public class ExampleServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println(request.getPathInfo());
    }
}
Run Code Online (Sandbox Code Playgroud)

使用web.xml映射,如:

<servlet>
    <servlet-name>example</servlet-name>
    <servlet-class>com.example.ExampleServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>example</servlet-name>
    <url-pattern>/example/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

它给了我我期望的结果......如果我去http:// localhost:8080/example/foo它打印"/ foo".但是,如果我将servlet更改为转发到JSP文件:

public class ExampleServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // do something here to check the value of request.getPathInfo()
        request.getRequestDispatcher("whatever.jsp").forward(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后当我检查getPathInfo()的值时,它现在报告"whatever.jsp"而不是"foo".

  1. 为什么在将其转发到JSP之前已经改变了?
  2. 如何检测用户正在寻找的URL?

编辑:以防万一,这是在谷歌应用引擎上.不要以为应该这样.

java jsp servlets

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

更换电池指示灯(Android)

有一个开源电池指示器,我更喜欢默认的.我想修改它来取代默认的电池指示器.如果不构建一个完整的自定义ROM,这甚至可能吗?

电池指示器截图

android battery

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

父活动中的onKeyDown或onBackPressed

我有一个TabActivity,根据选择的选项卡显示其他活动作为内容.我想要做的是从'父'活动尝试捕获后退键按下,但是onKeyDown()onBackPressed()都没有被调用父...它由'子'活动处理.有没有办法让它传递给'父'活动?

android tabactivity

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