androiddaily
⑴ android 怎么刷新fragment页面
通常的做法,在onResume中发一起一个异步的请求去拿数据,通过回调,收到返回的数据,然后更新UI。
网络获取数据结束判断数据有更新,然后通过set将控件的数据更新。
举例:
这个是我的一个fragment,我把它放在一个viewpager的fragment中
java">{
privatestaticfinalStringARG_CITY="city";
privateStringmCity;
privateTextViewtmpD;
privateTextViewtmpN;
privateSimpleDraweeViewimageD;
privateSimpleDraweeViewimageN;
(Stringcity){
BottomFragmentOnefragment=newBottomFragmentOne();
Bundleargs=newBundle();
args.putString(ARG_CITY,city);
fragment.setArguments(args);
returnfragment;
}
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
if(getArguments()!=null){
mCity=getArguments().getString(ARG_CITY);
}
}
@Override
publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,
BundlesavedInstanceState){
//
Viewview=inflater.inflate(R.layout.bottom_fragment_one,container,false);
tmpD=(TextView)view.findViewById(R.id.tmp_d);
tmpN=(TextView)view.findViewById(R.id.tmp_n);
imageD=(SimpleDraweeView)view.findViewById(R.id.image_d);
imageN=(SimpleDraweeView)view.findViewById(R.id.image_n);
setUI();
returnview;
}
//用来设置UI,更新UI时重新从数据库获取数据,进行设置
publicvoidsetUI(){
Forecastforecast=mFrecastDao.getForecastByCity(mCity);
tmpD.setText(forecast.getDaily_1_max());
tmpN.setText(forecast.getDaily_1_min());
imageD.setImageURI(getImageUri(forecast.getDaily_1_code_d()));
imageN.setImageURI(getImageUri(forecast.getDaily_1_code_n()));
}
}
2.除了上面那个,还有一个类似的fragment,我想实按下按钮后,在两个fragment之间进行切换。下面是按钮代码
@Override
publicvoidonClick(Viewv){
FragmentManagerfm=getChildFragmentManager();
//开启Fragment事务
=fm.beginTransaction();
switch(v.getId())
{
caseR.id.button_left:
if(mBottomOne==null)
{
mBottomOne=newBottomFragmentOne().newInstanceOne(mCity);
}//使用当前Fragment的布局替代id_content的控件
transaction.replace(R.id.bottom_weather,mBottomOne);
break;
caseR.id.button_right:
if(mBottomTwo==null)
{
mBottomTwo=newBottomFragmentTwo().newInstanceTwo(mCity);
}
transaction.replace(R.id.bottom_weather,mBottomTwo);
break;
}
//事务提交
transaction.commit();
}
3.下面是viewpager中的fragment用来更新上面两个fragment数据的方法。
publicvoidUpdateUI(){
mBottomOne.setUI();
mBottomTwo.setUI();
}
⑵ 安卓模拟器哪个好用
好用的安卓模拟器推荐如下:
1、BlueStacks蓝叠安卓模拟器
“安卓模拟器引擎”、“安卓模拟器中的英特尔”、“安卓模拟器的心脏”,这既是合作伙伴对蓝叠中国业务的描述,也是给予的荣誉称号。 由于具有核心技术优势,以及服务的快速响应,经过近3年的快速发展,占据游戏市场70%以上的份额的企业,都成为蓝叠中国技术授权业务的核心客户。
让移动互联网再无边界,打造电脑上的移动互联网,有效融合移动端和PC端的应用,更好的服务于当下的互联生活。具有同类模拟器中最快的运行速度和最稳定的性能。玩家可以通过本软件在电脑上玩手机游戏, 感受更大的屏幕、更快的速度、更完美的操控体验。
⑶ Android log4j如何把每条报错的日志存到文件里去
以DailyRollingFileAppender为例:假设每天一个日志文件有以下设置:log4j.appender.A1=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A1.File=app.loglog4j.appender.A1.DatePattern='.'yyyy-MM-ddlog4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%d%5p-%c-%-4r[%t]-%m%n此时生成日志文件将位于tomcat的bin目录下,如要将日志文件保存在:根目录/web-info/logs/下,个人有以下4种解决方案:1绝对路径log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log但这种写法灵活性很差以下3中使用相同的设置原理:jvm的环境变量2:spring的Log4jConfigListener通过以下配置:webAppRootKeywebApp.:log4j.propertiesorg.springframework.web.util.Log4jConfigListenerlog4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log来解决2:使用已有jvm变量:例如:log4j.appender.logfile.File=${user.home}/logs/app.log日志将位于:例如windows:C:\DocumentsandSettings\joe\logs\app.log3自己设置目录,也就是在项目启动时通过System.setProperty设置通过实现ServletContextListener来解决:例如{="log4jdir";publicvoidcontextDestroyed(){System.getProperties().remove(log4jdirkey);}publicvoidcontextInitialized(){Stringlog4jdir=servletcontextevent.getServletContext().getRealPath("/");//System.out.println("log4jdir:"+log4jdir);System.setProperty(log4jdirkey,log4jdir);}}web.xml配置:com.log4j.log4jlistenerlog4j.prtperties配置:log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log来解决。
⑷ 安卓模拟器哪个好用求推荐。
好用的安卓模拟器有:夜神安卓模拟器、逍遥安卓模拟器、蓝叠安卓模拟器。
1、夜神安卓模拟器
夜神安卓模拟器是目前唯一一款采用类手机界面视觉设计的PC端软件,采用世界领先的内核技术(基于Android4.4.2版本内核针在电脑上运行深度开发),具有同类模拟器中最快的运行速度和最稳定的性能。
每个安卓模拟器有其各自特点,用户在选择适合自己的安卓模拟器的时候,需要根据自己的实际情况对不同安卓模拟器进行选择。比如说逍遥安卓模拟器就适合玩游戏的用户,但是夜神模拟器利用在营销上面的场景就比较多。
⑸ Android 10(Q)GMS(cts/vts/gts)认证总结
本文主要介绍android10的GMS认证相关的内容,包括新特性、新要求、特殊问题以及失败项等。
https://support.google.com/androidpartners_gms/answer/9358977?hl=en&ref_topic=9353615
主要有以下模块:
GoogleDocumentsUIPrebuilt \ GoogleExtServicesPrebuilt \ MoleMetadataGooglePrebuilt \ \ \
1、刷user版本并开机
2、打开Settings -> System -> Developer options -> OEM unlocking
3、连接电脑,执行adb reboot bootloader;或者长按<volume up key>和<power key>进入fastboot模式
4、执行命令:fastboot flashing unlock ,出现选择界面后,按<volumn up key>
5、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前
6、执行命令:fastboot flash system system.img (使用google签名的 system.img)
7、执行命令:fastboot reboot bootloader
8、执行命令:fastboot flashing lock
9、执行命令:fastboot reboot
备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤6
1、刷user版本并开机
2、打开Settings -> System -> Developer options -> OEM unlocking
3、连接电脑,执行adb reboot bootloader;或者长按<volume up key>和<power key>进入fastboot模式
4、执行命令:fastboot flashing unlock ,出现选择界面后,按<volumn up key>
5、执行命令:fastboot flash boot boot-debug.img,boot-debug.img来out目录
6、执行命令:fastboot reboot fastboot,请不要做任何操作,在进行下一步之前
7、执行命令:fastboot flash system system.img (使用google签名的 system.img)
8、执行命令:fastboot reboot
备注: 如果是A/B load special,使用fastboot flash system_a system.img / fastboot flash system_b system.img 替换步骤7
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
https://partnerdash.google.com/partnerdash/u/0/d/partnerandroidbuild#p:id=home
目前,送测版本包括:New device或 MR、EEA Express Plus Device、Russia Device、RSA Device、SMR Device;各个版本都有不同的需求,请注意检查
为了更容易通过测试,跑测前最好写入以下内容:
Serial Number
Wifi Mac Address
BT Mac Address
IMEI
Google Key
kernel 4.14会出现,需要申请patch
SIM卡问题,需要插入写有效SIM卡
最新的daily build tool验证