Articles of java

Android ViewGroup.setScaleX()导致视图被剪切

我使用NineOldAndroids库来扩展我的自定义布局。 public class MyLayout extends FrameLayout { // LayoutParams.MATCH_PARENT and all. … @Override public boolean setPositionAndScale(ViewGroup v, PositionAndScale pas, PointInfo pi) { … mScale = pas.getScale(); ViewHelper.setScaleX(this, mScale); ViewHelper.setScaleY(this, mScale); } } 我已经尝试了FrameLayout和AbsoluteLayout。 所有的效果都一样。 当mScale < 1.0 缩放/缩放工作,但部分布局被裁剪 。 mScale = 1.0: mScale < 1.0: 缩放/缩放工作,但布局被剪裁 我如何解决这个问题? 编辑 :照片是在ICS上拍摄的。 所以我不认为这是NineOldAndroids的问题。

将JSON反序列化为Java枚举

我在Android上的Java中有以下枚举,我希望能够将传入的JSONstring/对象中的整数反序列化为此枚举types。 我已经得到了jackson和GSON的点击,但没有在我使用的JSON.org包。 有没有一个简单的方法来做到这一点,或者我需要改变JSON解码器? 谢谢。 public enum ValueEnum { ONE(1), TWO(2), THREE(3); private int value; private ValueEnum(int value) { this.value = value; } public int getValue() { return value; } }

只在必要时才在特定位置添加换行符

在我的Android布局,我有一个TextView,使用一半的可用宽度的屏幕。 在运行时,我将文本设置为(长)电子邮件地址。 例如: googleandroiddeveloper@gmail.com 如果文本不符合一行,Android将插入换行符,这是所需的行为。 但是,换行符的位置在第一个不符合该行的字符之前。 结果可能是这样的: googleandroiddeveloper@gmai l.com 我认为,这是一种丑陋,特别是在电子邮件地址。 我希望换行符出现在@字符之前: googleandroiddeveloper @gmail.com 当然,我可以在我的strings.xml添加一个\n 。 但是,那么电子邮件地址在每一种情况下都会使用两行,即使它适合一行。 我以为我已经find了在电子邮件地址中添加一个零宽度空间( \u200B )的解决scheme。 <string name="email">googleandroiddeveloper\u200B@gmail.com</string> 但除了使用标准空格,Android不会将特殊空格字符检测为易碎空间,因此此时不会添加换行符。 由于我在应用程序的多个地方处理了许多电子邮件地址,因此我正在寻找一种解决scheme,在@字符之前添加易碎和不可见的空间,所以如果不适合一行,则Android会封装电子邮件地址。

如何将Maven添加到现有的IntelliJ Android项目中

我一直在做一些关于将Maven添加到现有Android项目的研究,我正在努力研究这是如何工作的。 我曾经在Netbeans的基于Web的项目中使用过Maven,但是对于这个项目,我正在使用IntelliJ。 我可以创build一个新的“Maven模块”,但我已经有一个Android项目,所以我不完全确定这是我应该采取的路线。 我发现这篇文章提供了一些细节,但不是一步一步的Windows集成指南(至less我看到)。 我可以在Android项目中使用Maven吗? 编辑:我正在寻找在Windows环境中做到这一点

Websocket服务器Android

有谁知道可以用于Android的免费/开源的websocket服务器? 一个轻量级的Java(希望)也可以。

如何将多部分/表单数据从android发送到Web服务器?

将表单数据发布到Web服务器时遇到麻烦。 每次我尝试发布我得到这个响应从服务器“没有收到消息”,所以显然是有问题的代码。 我错过了什么? 这是我想要发布的HTML部分: <form id="post" action="url" method="post" enctype="multipart/form-data"> <fieldset> <input id="board" name="board" value="hiekkalaatikko" type="hidden"> <input id="thread" name="thread" value="0" type="hidden"> <input name="uuid" id="uuid" value="1e54a561-b08e-4bad-b9b6-e618ccd91ef5" type="hidden"> <input name="email" style="position: absolute; left: -9999px;" type="text"> <table id="postform"> <tbody> <tr> <td class="label"><label for="postername">Viestinimi</label></td> <td><input name="postername" id="postername" onkeyup="checkName('poster');" type="text"> <span id="posternamestatus"></span></td> </tr> <tr> <td class="label"><label for="functions">Toiminnot</label></td> <td><input name="functions" id="functions" type="text"></td> […]

检查一个string是否是一个数字

我知道你可以通过执行Integer.parseInt("1234");来检查一个string是否是一个整数Integer.parseInt("1234"); 但是我想要做的就是将一个文本数字链接到一个整数。 即 “一”== 1 “两”== 2 “三”== 3 “二十”== 20 有什么图书馆可以用来做这个,还是我必须手工编程? 我想这样做的原因是我有一个语音识别的Android应用程序。 用户然后可以计数。 该号码显示在屏幕上。 编辑 经过一番尝试,我发现SpeechRecognizer类使用自动分析数字到实际的数字…

在“Mockito文档”中,“SRPy”代表什么?

从http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html 像往常一样,您将阅读部分模拟警告:面向对象编程通过将复杂性划分为单独的,特定的SRPy对象来解决更复杂的问题。 部分模拟如何适应这种模式? 那么,它只是不…部分模拟通常意味着复杂性已被转移到一个不同的方法对同一个对象。 在大多数情况下,这不是您想要devise应用程序的方式。

在android中以编程方式从manifest.xml中检索权限

我必须以编程方式从Android应用程序的manifest.xml检索权限,我不知道该怎么做。 我在这里看过这个post,但是我对答案并不完全满意。 我想应该有一个android API的类,它将允许从清单中检索信息。 谢谢。

为什么android.app.Activity不是通过devise抽象的?

为什么android.app.Activity不是通过devise抽象,如果文档/教程说,至less它的方法onCreate() 必须实现。 从http://developer.android.com/guide/components/activities.html 你必须实现这个方法。 系统在创build活动时调用这个。 即使没有明确提到,没有实现没有意义的android.app.Activity对象,或? 我明白,parrent需要在自己的onCreate()实现中执行代码,但是当onCreate()会调用一个需要开发人员实现的抽象callback方法的时候,肯定会有devise。 这个devise的例子: public abstract class Activity { public abstract void implementThis(Object o); public void onCreate(Object o){ //Do stuff implementThis(o); //Do other stuff or end. } } 我在这里错过了什么? 为什么有非抽象的Activity如果开发人员必须和需要inheritance它并提供自定义的实现?