我有一个JSON和一个JSON模式
JSON:
{
"aaa": "4000-02-01 00:00:00"
}
Run Code Online (Sandbox Code Playgroud)
JSON-模式:
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"properties": {
"aaa": {
"type": "string",
"format": "date-time"
}
}, "required": ["aaa"]
}
Run Code Online (Sandbox Code Playgroud)
JSON由JSON模式验证.但是,如果我将字段更改aaa为"bla",则架构不会再注意到它不再是日期时间.
我错过了架构中的任何内容吗?
给出像这样的房间数据库DAO:
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import java.util.Date;
import java.util.List;
@Dao
public interface MyDao {
@Query("SELECT * FROM MyTable")
List<MyItem> all();
@Query("SELECT * FROM MyTable WHERE date = :date AND language = :language")
MyItem byDate(Date date, String language);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法添加一个Logger或类似的东西,MyDao以便我可以看到正在执行哪些语句.这在开发过程中非常有用,因为我可以立即检查函数是否正确转换为预期的SQL语句.
我想声明我正在测试的我的Acitivty在执行某些操作时已完成.不幸的是到目前为止,我只是通过在测试结束时添加一些睡眠来断言它.有没有更好的办法 ?
import android.content.Context;
import android.os.Build;
import android.support.test.rule.ActivityTestRule;
import android.test.suitebuilder.annotation.LargeTest;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import static org.junit.Assert.assertTrue;
@SuppressWarnings("unchecked")
@RunWith(JUnit4.class)
@LargeTest
public class MyActivityTest {
Context context;
@Rule
public ActivityTestRule<MyActivity> activityRule
= new ActivityTestRule(MyActivity.class, true, false);
@Before
public void setup() {
super.setup();
// ...
}
@Test
public void finishAfterSomethingIsPerformed() throws Exception {
activityRule.launchActivity(MyActivity.createIntent(context));
doSomeTesting();
activityRule.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
fireEventThatResultsInTheActivityToFinishItself();
}
});
Thread.sleep(2000); // this is needed :(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) …Run Code Online (Sandbox Code Playgroud) testing android android-activity android-testing android-espresso
我试图找出如何设置md卡的高度来填充其父级.这是我的例子:
<div ng-controller="AppCtrl" ng-app="MyApp">
<div layout="column" layout-gt-sm="row" layout-padding="layout-padding" layout-fill="layout-fill">
<div flex="flex" flex-gt-sm="33" layout="column" layout-fill="layout-fill">
<div flex="flex" layout="row">
<md-content flex="flex">
<md-card>
<md-card-content><span>can I please be as high as the other two cards together</span></md-card-content>
</md-card>
</md-content>
</div>
</div>
<div flex="flex" flex-gt-sm="33" layout="column">
<md-card flex="flex">
<md-card-content>
<p>some very long content some very long content some very long content some very long content some very long content some very long content some very long content some very long content some very long content some …Run Code Online (Sandbox Code Playgroud) 从 URL 获取 json 时,我只想在数据有效时使用它。
到目前为止,我使用JSON 的方法:
$http.get(
'data/mydata.json'
+ "?rand=" + Math.random() * 10000,
{cache: false}
)
.then(function (result) {
try {
var jsonObject = JSON.parse(JSON.stringify(result.data)); // verify that json is valid
console.log(jsonObject)
}
catch (e) {
console.log(e) // gets called when parse didn't work
}
})
Run Code Online (Sandbox Code Playgroud)
但是在我进行解析之前,angular 已经失败了
SyntaxError: Unexpected token { at Object.parse (native) at fromJson ( http://code.angularjs.org/1.2.0-rc.2/angular.js:908:14 ) at $HttpProvider.defaults.defaults.transformResponse (http://code.angularjs.org/1.2.0-rc.2/angular.js:5735:18)在http://code.angularjs.org/1.2.0-rc.2/angular.js: 5710:12 at Array.forEach (native) at forEach ( http://code.angularjs.org/1.2.0-rc.2/angular.js:224:11 ) at …
在我的viewFlipper中,一些TextViews是动态加载的.大小可能不同,这意味着在viewFlipper下可能会留下一些空间(请参见截图中的绿色部分)
我希望不仅在灰色部分(即viewflipper)上滑动时调用onFling方法,而且还要在绿色部分上滑动时调用onFling方法
我的布局看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/root">
<ViewFlipper android:id="@+id/viewFlipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ViewFlipper>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
在我的onCreate中,我这样做:
this.viewFlipper = (ViewFlipper) this.findViewById(R.id.viewFlipper);
this.gestureDetector = new GestureDetector(new MyGestureDetector());
RelativeLayout root = (RelativeLayout) this.findViewById(R.id.root);
root.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
Log.d("root", "true");
return false;
} else {
Log.d("root", "false");
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
到目前为止,即使我得到了真的,我也试图返回false,这样即使在viewflipper之外进行了滑动,事件也不会被消耗掉并传递给viewFlipper.
请注意,viewFlipper不需要任何显式的onTouchListener.它有或没有一个(我真的不明白为什么..)
有谁知道该怎么办?
我正在尝试通过此处提供的步骤构建Android源代码.但是我的JDK遇到了麻烦.发布时:
lunch full-eng
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gcc: Permission denied
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gcc: Permission denied
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gcc: Permission denied
/bin/bash: build/core/find-jdk-tools-jar.sh: Permission denied
build/core/config.mk:344: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
** Don't have a product spec for: 'full'
** Do you have the right repo manifest?
Run Code Online (Sandbox Code Playgroud)
所以我尝试通过以下步骤正确安装JDK:
步骤1
第2步
按照以下步骤安装正确的JAVA .我使用默认安装程序选项和版本6,而不是7或8
第3步
在这里,我只是按照这个答案.
sudo gedit .bashrc
Run Code Online (Sandbox Code Playgroud)
通过添加这些行来编辑底部的文件
JAVA_HOME=/usr/lib/jvm/java-6-oracle
export JAVA_HOME
# replacing /path/to/androidsdk/ …Run Code Online (Sandbox Code Playgroud) android ×4
json ×2
android-room ×1
angularjs ×1
css ×1
datetime ×1
java ×1
jsonschema ×1
logging ×1
onfling ×1
testing ×1
ubuntu ×1
verify ×1
viewflipper ×1