我有一个问题.当我试图从相机拍摄照片时,质量非常低.首先,使用相机拍摄图片,而不是保存到目录,同时获取该图片并在我的应用程序中显示.目录中保存的图片质量很好但是当我从目录中获取时,质量很低.下面是我的示例代码:
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == CAMERA_PIC_REQUEST) {
Bitmap thumbnail = (Bitmap) intent.getExtras().get("data");
if (g==1)
{
ImageView myImage = (ImageView) findViewById(R.id.img5);
myImage.setImageBitmap(thumbnail);
View a = findViewById(R.id.img5);
a.setVisibility(View.VISIBLE);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byteArray1 = stream.toByteArray();
}
}
Run Code Online (Sandbox Code Playgroud)
任何解决方案/建议?谢谢 :)
解决了
当我按照下面的Antrromet给出的代码时,问题就解决了
我已将两个APK文件上传到Google Play商店.一个是较新的版本,一个是较旧的版本.较新的版本是活动版本,因为它具有更高的版本名称和代码.现在我在较新版本中发现了一些错误,我想从Play商店删除它并激活旧版本.Google Play不会让我停用较新的版本并再次激活旧版本,因为它具有较低的版本名称和代码.问题是我不是开发人员而且没有构建应用程序.开发人员在另一个国家,很难掌握它们.
我该怎么做才能重新激活旧版本?我知道一个解决方案是更改versionName和Code.我只有apk文件,我可以用Eclipse文件更改Eclipse中的那些细节,在eclipse或开发Android应用程序的经验很少吗?
谢谢
我有一个非常简单的形状,我想设置宽度:
<shape android:shape="rectangle">
<solid android:color="@color/orange"/>
<size android:width="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
但是,当我将它指定给EditText的背景时,它只显示橙色背景而不是宽度为2dp的矩形.为什么不设置尺寸?我想创建一个透明的drawable,左侧是橙色矩形.我也把它包裹在选择器中:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="@color/orange"/>
<size android:width="2dp" android:height="6dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
我试过添加高度只是为了看它是否会改变大小.它没有.这就像它完全忽略了它的大小.WTF?
我的应用程序中有一些文字说如果你需要额外的帮助,请给我们发电子邮件,这里是电子邮件地址,等等,等等.
但我希望他们能够点击电子邮件链接并打开他们的电子邮件客户端.那可能吗?或者那是不好的做法?
如果是合理的做法,怎么办呢?
花括号做什么?
handler1 = new Handler() {
public void handleMessage() {
}
};
Run Code Online (Sandbox Code Playgroud)
object = new Class_Name() {};?这种语法只存在于Android或Java上吗?它在Java中被称为什么?谢谢你的帮助.
此代码应该使用服务来显示Toast消息.没有错误,但它没有显示祝酒词.
主要活动
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent i= new Intent(this, BackgroundMusic.class);
this.startService(i);
}
}
Run Code Online (Sandbox Code Playgroud)
服务(它被称为背景音乐,但现在它应该显示一个祝酒词)
public class BackgroundMusic extends IntentService {
public BackgroundMusic() {
super("BackgroundMusic");
}
@Override
protected void onHandleIntent(Intent intent) {
// Normally we would do some work here, like download a file.
// For our sample, we just sleep for 5 seconds.
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = …Run Code Online (Sandbox Code Playgroud) 几个星期前,我发布了一个问题如何根据buildType覆盖资源.就在昨天,有一个用于android的gradle插件版本.根据这篇关于G +的帖子,我决定写下这个问题.
我详细描述的问题:
我想根据它创建一些资源值buildType,但这不能正常工作:只有在命令行上完成构建时才会创建文件"generated.xml":
gradlew build
Run Code Online (Sandbox Code Playgroud)
但是我通过在comannd线上构建完整的项目也会出错:
* What went wrong: Execution failed for task ':app:merge<buildVariant>Resources'.
Unsupported type 'String' in file C:\Users\...\build\res\generated\release\values\generated.xml
Run Code Online (Sandbox Code Playgroud)
每个其他构建试用版都不会创建此文件.我试过以下:
奇怪的gradle控制台输出:
:app:generateBuildVariantResValues UP-TO-DATE
Run Code Online (Sandbox Code Playgroud)
我的build.gradle:
buildTypes {
debug{
buildConfigField "String", "FOO", "\"FOO DEBUG\""
resValue "String", "RES FOO", "RES FOO DEBUG"
}
release {
buildConfigField "String", "FOO", "\"FOO RELEASE\""
resValue "String", "RES FOO", "RES FOO RELEASE"
}
}
Run Code Online (Sandbox Code Playgroud)
我的"generated.xml":
<!-- Automatically generated file. …Run Code Online (Sandbox Code Playgroud) 我有一个已在Android Studio中运行的项目.
在Android Studio中打开项目后,我收到了消息:
将项目迁移到Gradle?该项目不使用Gradle构建系统.我们建议您迁移到使用Gradle构建系统.有关迁移到Gradle的更多信息请勿再次显示此消息.
在关于迁移到Gradle的更多信息的链接之后,虽然我已经在使用,但Android Studio我已经按照从IntelliJ Projects迁移的选项进行操作.
因为我已经build.gradle在项目的根目录中有一个文件,所以我修改了包含一些依赖项.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile "com.android.support:support-v4:18.0.+"
compile "com.android.support:appcompat-v7:18.0.+"
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the …Run Code Online (Sandbox Code Playgroud)
我正在使用PhoneGap(cordova 2.9.1,android 4.4.2)并尝试在当前视图中打开外部URL:
document.addEventListener("deviceready", function(){
window.open('http://www.google.com', '_self')
});
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
net :: ERR_CACHE_MISS(http://www.google.com)
有任何想法吗 ?
我正在使用以下代码将InputStream转换为JSONObject.我的问题是,是否有任何简单的方法将InputStream转换为JSONObject.不做InputStream - > BufferedReader - > StringBuilder - > loop - > JSONObject.toString().
InputStream inputStreamObject = PositionKeeperRequestTest.class.getResourceAsStream(jsonFileName);
BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStreamObject, "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null)
responseStrBuilder.append(inputStr);
JSONObject jsonObject = new JSONObject(responseStrBuilder.toString());
Run Code Online (Sandbox Code Playgroud) android ×10
java ×2
apk ×1
build.gradle ×1
class ×1
cordova ×1
curly-braces ×1
drawable ×1
inputstream ×1
json ×1
service ×1
syntax ×1
toast ×1
xml-layout ×1