由于标题说我的jenkins构建失败,因为没有找到android sdk dispite它位于环境路径中.
这是控制台日志
Started by user anonymous
Building in workspace /Users/lmnapp/.jenkins/jobs/Android_app_master/workspace
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://bitbucket.org/xxxxx-xxx/xxxx-android-app.git # timeout=10
Fetching upstream changes from https://bitbucket.org/xxxx-mob/xxxx-android-app.git
> git --version # timeout=10
using .gitcredentials to set credentials
> git config --local credential.helper store --file=/var/folders/gj/xxxxxxxx/T/xxxxx.credentials # timeout=10
+ export ANDROID_HOME=/Users/lmnapp/android-sdk-macosx
+ ANDROID_HOME=/Users/lmnapp/android-sdk-macosx
+ export ANDROID_SDK=/Users/lmnapp/android-sdk-macosx/platforms
+ ANDROID_SDK=/Users/lmnapp/android-sdk-macosx/platforms
+ export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Users/lmnapp/android-sdk-macosx/tools:/Users/lmnapp/android-sdk-macosx/platform-tools:/Users/lmnapp/android-sdk-macosx
+ PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Users/lmnapp/android-sdk-macosx/tools:/Users/lmnapp/android-sdk-macosx/platform-tools:/Users/lmnapp/android-sdk-macosx
+ export AVD_NAME=jenkinsGoogleApi18_1
+ AVD_NAME=jenkinsGoogleApi18_1
+ echo displayPath
displayPath …Run Code Online (Sandbox Code Playgroud) 我想知道当你需要做很多事情来访问任何公共方法或从一个服务(如更大的List对象)获取大量数据时,使用android服务进行后台工作有什么意义.
为什么不只是使用一个简单的POJO,如果你喜欢并在不使用AIDL创建接口,绑定到服务等等的情况下获得对其公共方法的访问权限,则可以在单独的线程中为你做背景?
从服务类访问方法需要做太多的工作,或者这真的不是android中服务类的重点?
我开发了一个Android服务类,它从一个Web服务获取xml结构中的100个项目,然后我将其解析为POJO然后存储在List中但我很难找到一种方法将此List发送回调用此服务的活动.
我已经阅读了有关使用parcebales对象的信息,但是所有的intent.putExtra都有大小限制,所以我将来可能会遇到问题.
我正在考虑放弃Android服务,我很快就发现了为什么我不喜欢在第一时间使用它们:(
一个简单的 SomeBackgroundPojo backroundTask = new SomeBackgroundPojo(); backgroundTask.getData();
看起来比处理parcelables,可实现的对象,AIDL,绑定etcc等更容易,只是为了实现我上面输入的两行代码:(
我注意到这个控制器现在已经在最近的春天被弃用了,并且想知道替代控制器是什么?
使用spring3设置hibernate有更多问题.这次是说连接是nul,因为没有设置它在我的hibernate.cfg.xml文件中的方言.
这是完整的例外:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in URL [file:war/WEB-INF/datasource-config.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:96)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:44)
at org.springframework.test.context.TestContext.buildApplicationContext(TestContext.java:198)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:233)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:126)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:85)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:231)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:95)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:139)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) …Run Code Online (Sandbox Code Playgroud) 您好我在使用pageViwer和适配器滑过3个片段时收到此错误.
这是我的pageAdapter
public class FreedomPageAdapter extends FragmentPagerAdapter {
private List<Fragment> listFragment;
public FreedomPageAdapter(FragmentManager fm, List<Fragment> listFragment) {
super(fm);
this.listFragment = listFragment;
}
/*
* (non-Javadoc)
*
* @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
*/
@Override
public Fragment getItem(int position) {
// TODO Auto-generated method stub
return listFragment.get(position);
}
/*
* (non-Javadoc)
*
* @see android.support.v4.view.PagerAdapter#getCount()
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return listFragment.size();
}
Run Code Online (Sandbox Code Playgroud)
这是我如何定义网页浏览
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setOnPageChangeListener(this);
savedListFragment = new SubscribedFragment();
fragmentList.add(savedListFragment);
fragmentList.add(savedListFragment);
fragmentList.add(savedListFragment);
viewPager.setAdapter(new FreedomPageAdapter(fragmentManager(), …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用SpringJUnit4ClassRunner创建一个单元测试,但每次执行测试时它都说使用mvn install找不到SpringJUnit4ClassRunner.
\src\test\java\com\jr\freedom\util\JsonParserUtilTest.java:11: cannot find symbol
[ERROR] symbol: class SpringJUnit4ClassRunner
[ERROR] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
这是我的代码
@RunWith(SpringJUnit4ClassRunner.class)
public class JsonParserUtilTest {
private String jsonUser = "{ \"username\":\"jono111\",\"emailAddress\":\"jon@google.com\", \"password\":\"12345678\",\"firstName\":\"jono\", \"surname\":\"richy\", \"country\":\"united kingdom\",\"bio\":\"Bio stuff goes here about the user. where he comes from etc etc. all is well. lets go go go\" }";
@Test
public void testToJsonObject() {
User user = new User();
user.setBio("bio mate");
user.setCountry("uk");
user.setEmailAddress("jonney@hello.com");
user.setFirstName("jono");
user.setPassword("passwordfdsadsa");
user.setUsername("crazy8");
JSONObject jsonUser = JsonPojo.toJsonObject(user);
assertNotNull(jsonUser);
assertNotNull(jsonUser.keys());
System.out.println(jsonUser);
}
@Test
public void testToObject(){
JSONObject …Run Code Online (Sandbox Code Playgroud) 你如何解析存储在java字符串对象中的xml?
Java的XMLReader仅解析URI或输入流中的XML文档.是不是可以从包含xml数据的String解析?
现在我有以下内容:
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser sp = factory.newSAXParser();
XMLReader xr = sp.getXMLReader();
ContactListXmlHandler handler = new ContactListXmlHandler();
xr.setContentHandler(handler);
xr.p
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
在我的处理程序上我有这个:
public class ContactListXmlHandler extends DefaultHandler implements Resources {
private List<ContactName> contactNameList = new ArrayList<ContactName>();
private ContactName contactItem;
private StringBuffer sb;
public List<ContactName> getContactNameList() {
return contactNameList;
}
@Override
public void startDocument() throws …Run Code Online (Sandbox Code Playgroud) 嗨,我正在尝试模拟我从使用我的演示者类调用的委托者从改造中返回的单个可观察对象获得的响应,并且出现以下错误:
io.mockk.MockKException:没有找到答案:LoginPresenter(#1).login(LoginRequest(email=hello@gmail.com, password=password123))
这是我的测试代码
@Test
fun testKotlinMock(){
val presenter : LoginPresenter = mockk<LoginPresenter>()
val delegator = mockk<AccountDelegatorContract>()
val viewCallback = mockk<LoginContract.LoginViewCallBack>()
val cookieStore = mockk<PianoCookieStore>()
val loginRequest = LoginRequest("hello@gmail.com", "password123")
val customerResponse = CustomerResponse("jon", "richy")
every { delegator.login(loginRequest) } returns Single.just(Response.success(any()))
every { delegator.getCustomer() } returns Single.just(customerResponse)
every { presenter.loginViewCallBack } returns viewCallback
every { presenter.accountDelegator } returns delegator
every { presenter.cookieStorage } returns cookieStore
presenter.login(loginRequest)
}
Run Code Online (Sandbox Code Playgroud)
我的实际演示者代码如下所示:
@Inject
lateinit var loginViewCallBack: LoginViewCallBack
@Inject
lateinit var delegator: DelegatorContract
@Inject
lateinit …Run Code Online (Sandbox Code Playgroud) ClassFormatError使用javaMail api在我的spring mvc web app上发送电子邮件时,我感到很奇怪.
下面是我的mail-cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<bean id="mailSource" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}" />
<property name="port" value="${mail.port}" />
<property name="username" value="${mail.username}" />
<property name="password" value="${mail.password}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>
</bean>
<bean id="mailHelper" class="com.jr.freedom.util.MailHelper">
<property name="mailSender" ref="mailSource"></property>
<property name="messageText"
value="Thank you for reigistering to the Freedom Application. Please copy and paste your activation code below \n\n"></property>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
我的POM文件
<project …Run Code Online (Sandbox Code Playgroud) Jetpack Compose 发布版本:1.0.0-alpha06 Android Studio Build:4.2 1Canery 15
我的活动
class MainActivityA : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(text = "hello", modifier = Modifier.padding(12.dp))
}
}
Run Code Online (Sandbox Code Playgroud)
以上运行时编译此错误:
java.lang.NoSuchMethodError: No static method setContent$default(Landroidx/activity/ComponentActivity;Landroidx/compose/runtime/Recomposer;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Landroidx/compose/runtime/Composition; in class Landroidx/compose/ui/platform/WrapperKt; or its super classes (declaration of 'androidx.compose.ui.platform.WrapperKt' appears in /data/app/com.jonathan-_j03c44RbBo00Hn7DeOjeA==/base.apk)
Run Code Online (Sandbox Code Playgroud)
我的一些 gradle 设置
def jetpack_compose = "1.0.0-alpha06"
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
composeOptions {
kotlinCompilerVersion '1.4.0'
kotlinCompilerExtensionVersion "$jetpack_compose"
}
//JetPack Compose stuff
implementation "androidx.compose.ui:ui:$jetpack_compose"
// Tooling support …Run Code Online (Sandbox Code Playgroud) java ×5
android ×4
spring ×4
kotlin ×2
hibernate ×1
jakarta-mail ×1
javabeans ×1
jenkins ×1
maven ×1
mockk ×1
service ×1
spring-mvc ×1
unit-testing ×1
xml ×1