我必须在根设置组中保存2组不同的设置.它应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="ROOT_GROUP">
<sectionGroup name="GROUP_1">
........................
some_settings
........................
</sectionGroup>
<sectionGroup name="GROUP_2">
........................
some_other_settings
........................
</sectionGroup>
</sectionGroup>
</configSections>
................................
other_system_tags
................................
</configuration>
Run Code Online (Sandbox Code Playgroud)
Nuance是我必须在我的代码中的不同位置一个接一个地保存它.(例如,GROUP_1可以是连接字符串,GROUP_2是一些环境设置,它们一起由我的应用程序的不同部分中的用户填充)
我制作了这个简单的测试类来获得预期的结果
[TestFixture]
public class Tttt
{
private string ROOT_GROUP = "ROOT_GROUP";
private string GROUP_1 = "GROUP_1";
private string GROUP_2 = "GROUP_2";
[Test]
public void SaveSettingsGroups()
{
SaveGroup1();
SaveGroup2();
Assert.True(true);
}
private Configuration GetConfig()
{
var configFilePath = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
var map = new ExeConfigurationFileMap { ExeConfigFilename = configFilePath };
var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); …Run Code Online (Sandbox Code Playgroud) 我的Listview有问题,我想为所有ListView的项目设置一个倒数计时器,我已经用Google搜索了一个解决方案,但它无法正常工作.问题是ListView重用(回收)一个视图,我总是得到一个错误的项目时间.我使用标签作为我的观点,但它仍然不起作用,我无法理解我在哪里犯了错误,请帮助我.谢谢.
所以这里有一张图片显示我的问题:pic1我刚刚开始一个活动;

pic2我只是向下滚动

在这里我的代码(全班):
public class PromoListActivity extends SherlockActivity {
private ListView mPromoList;
private PromoListAdapter mAdapter;
private ViewFlipper mFlipper;
private Button mBtnRepeat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_news_list);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setTitle("??????????? ?????");
mFlipper = (ViewFlipper) findViewById(R.id.flipper);
mPromoList = (ListView) findViewById(R.id.newsList);
mBtnRepeat = (Button) findViewById(R.id.btnRepeat);
//-->
final Handler timerHandler = new Handler();
Runnable timerRunnable = new Runnable() {
@Override
public void run() {
mAdapter.notifyDataSetChanged();
timerHandler.postDelayed(this, 1000); // run every minute
}
};
//<--
mBtnRepeat.setOnClickListener(new OnClickListener() {
@Override
public void …Run Code Online (Sandbox Code Playgroud) 我知道有很多关于我的问题的信息,我几乎已经阅读了所有这些 - 关于developer.android.com的官方文档,XDA开发人员和这里的帖子,以及许多其他但仍有问题我希望你能解释一下.所以我在主屏幕上有一个带有仪表板图标的应用程序,我需要在所有现有屏幕上看到这个屏幕看起来一样,这里是肖像和土地标准:

为了做到这一点,我已经在我的项目中添加了下一个文件夹:

所有尺寸,如图像大小,文字大小和边距,我都在dimens.xml中为每个屏幕分辨率设置,我认为这足以在不同的设备上看到相同的图片.但我错了,在相同的分辨率但不同的屏幕尺寸下它看起来不同.这是一个带有mdpi的3.2"和5.1"屏幕:

我没有得到我应该添加像" values-mdpi-sw320dp "等文件夹或者还有其他方式我应该知道在所有屏幕上看到相同的图片?这是设置尺寸的所有尺寸的正确方法吗?请向我解释一下.问候.
我有一个服务在它自己的过程中,我已经在清单中声明它:
<service
android:name="com.discountscatcher.util.PointService"
android:configChanges="orientation"
android:process=":pointservice" >
</service>
Run Code Online (Sandbox Code Playgroud)
但onStartCommand我试图得到一个ApplicationContext,但它总是返回null,我能忘记什么?
public int onStartCommand(Intent intent, int flags, int startId) {
android.os.Debug.waitForDebugger();
Context mContext = getApplicationContext();
return Service.START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)
我这样开始:
startService(new Intent(getApplicationContext(), PointService.class));
Run Code Online (Sandbox Code Playgroud)
在 Myactivity OnCreate
有任何想法吗?
首先,我是Java程序员,我是C#的新手,我需要C#开发人员的意见.我正在开发一个连接到数据库(firebird 1.5)的应用程序,查询一些数据并返回给我,所以没有什么可复杂的,但不幸的是我陷入了一些困境:
我们知道数据库连接应该在单独的线程中实现,因为它是一个高权重操作,并且所有连接都应该在连接池中,以便重用已经打开的连接而不是创建新连接.
所以这里是我的第一个问题 - 如何正确组织连接池? (连接池怎么样我读过通常连接池已经由数据提供者实现了,我可以在连接参数中设置它,就像"connectionBuilder.Pooling = true;")
查询怎么样?我的意思是我总是使用每个线程的查询(我认为这是正确的,因为我们也做了一个高权重的操作,我错了吗?无论如何,我很高兴看到你组织数据库工作的最佳实践)和Java我只是通过使用这样的接口和匿名类来从单独的线程返回Query结果:
在DBHelper.class中(DBHelper是单例)
public interface QueryListener {
public void onSuccess(ArrayList<?>);
public void onError(Exception e);
}
public synchronized void getPromoActions(final QueryListener listener) {
if (listener != null) {
try {
ArrayList<String> myPromoActions;
.............
// some query's code
.....
listener.onSucces(myPromoActions);
} catch(Exception e) {
listener.onError(e);
} finally {
closeDatabase();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在某些UI类中(对于eX示例MainWindow)
public void getPromoActions(){
new Thread(new Runnable() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 实际上我不知道它是如何正确调用 - 覆盖,视差或滑动,无论如何,我有一个名为"咖啡馆细节"的活动,它提供了一个带有标题信息的容器(LinearLayout)(名称,最低价格,交货时间最小等)和其他容器(ViewPager)包含一个带有信息(菜单和菜肴)的ExpandableListView,我想要做的就是在将listview滚动到scpecific Y位置以覆盖(或覆盖)标题信息时向上滑动我的Viewpager.

类似的效果(但我不需要使用的视差)看起来像这样

我可以检测用户何时向下滚动列表视图但是如何使用ViewPager移动容器以覆盖其他容器?请给我一些想法,问候.
UPD 我已经尝试了很多方法来实现它,但遗憾的是它们都不适合.所以现在我来到下一个变体 - 向ListView添加滚动侦听器,计算视图的scrollY位置,然后基于通过调用setTranslationY()移动y轴上的viewpager; 这是一些代码
1)ViewPager的片段
mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {
if (getActivity() != null) {
((MainActivity) getActivity()).resizePagerContainer(absListView);
}
}
});
Run Code Online (Sandbox Code Playgroud)
2)MainActivity
//object fields
int previousPos;
private float minTranslation;
private float minHeight;
<--------somewhere in onCreate
minTranslation = - (llVendorDescHeaders.getMeasuredHeight()+llVendorDescNote.getMeasuredHeight());
//llVendorDescHeaders is linearLayout with headers that should be hidden
//lVendorDescNote is a textView on green background; …Run Code Online (Sandbox Code Playgroud) 我想检查上传文件的进度HttpUrlConnection.我怎么能这样做?我曾尝试在写入数据时计算字节数,OutputStream但这是错误的,因为只有在我调用时才会发生真正的上传conn.getInputStream(),因此我需要以某种方式检查inputStream.这是我的代码:
public static void uploadMovie(final HashMap<String, String> dataSource, final OnLoadFinishedListener finishedListener, final ProgressListener progressListener) {
if (finishedListener != null) {
new Thread(new Runnable() {
public void run() {
try {
String boundary = getMD5(dataSource.size()+String.valueOf(System.currentTimeMillis()));
MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();
multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.setCharset(Charset.forName("UTF-8"));
for (String key : dataSource.keySet()) {
if (key.equals(MoviesFragmentAdd.USERFILE)) {
FileBody userFile = new FileBody(new File(dataSource.get(key)));
multipartEntity.addPart(key, userFile);
continue;
}
multipartEntity.addPart(key, new StringBody(dataSource.get(key),ContentType.APPLICATION_JSON));
}
HttpEntity entity = multipartEntity.build();
HttpURLConnection conn = (HttpsURLConnection) new URL(URL_API + …Run Code Online (Sandbox Code Playgroud) upload android multipart httpurlconnection android-progressbar
我有一个问题是使用java打印PDF.我知道Java本身不支持print PDF,因为java没有PDF渲染器.所以为了解决这个问题,我使用的是PDFRenderer库,下面是一个用它打印的例子:
File f = new File("myfile.pdf");
FileInputStream fis = new FileInputStream(f);
FileChannel fc = fis.getChannel();
ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0,
fc.size());
PDFFile pdfFile = new PDFFile(bb);
PDFPrintPage pages = new PDFPrintPage(pdfFile);
PrinterJob pjob = PrinterJob.getPrinterJob();
PageFormat pf = PrinterJob.getPrinterJob().defaultPage();
pjob.setJobName(f.getName());
pjob.setPrintService(mPrintService);
Book book = new Book();
book.append(pages, pf, pdfFile.getNumPages());
pjob.setPageable(book);
pjob.print();
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我需要一些方法来获取我的打印机工作的状态.我需要知道我的打印机工作何时完成,我可以启动另一个.Java API与DocPrintJob和PrintJobListener有很好的解决方案,但我需要使用PrinterJob进行PDF打印.那么我怎么能像在DocPrintJob中那样从我的PrinterJob中听取工作状态呢?
我刚刚从稳定的频道将Android Studio更新到2016年4月5日的版本2.0,现在我尝试构建项目时出现了一个奇怪的错误:
忽略没有关联的EnclosingMethod属性的匿名内部类(org.apache.commons.collections.BeanMap $ 1)的InnerClasses属性.这个类可能是由一个没有以现代.class文件格式为目标的编译器生成的.建议的解决方案是使用最新的编译器从源代码重新编译类,而不指定任何"-target"类型选项.忽略此警告的后果是,对此类的反射操作将错误地指示它不是内部类.
这是我的依赖项:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'me.dm7.barcodescanner:zxing:1.7.2'
compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
compile 'com.github.rey5137:material:1.1.1'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
compile files('libs/java-json.jar')
compile 'com.google.code.gson:gson:2.4'
compile 'se.emilsjolander:stickylistheaders:2.7.0'
compile('com.thoughtworks.xstream:xstream:1.4.7') {
exclude group: 'xmlpull', module: 'xmlpull'
}
compile ('com.github.ganfra:material-spinner:1.1.0'){
exclude group: 'com.nineoldandroids', module: 'library'
exclude group: 'com.android.support', module: 'appcompat-v7'
}
compile 'ch.qos.logback:logback-core:1.1.7'
compile 'org.slf4j:slf4j-api:1.7.21'
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将是欣赏.
android build android-studio build.gradle android-gradle-plugin
我从logback中得到了一些奇怪的行为,问题是log.debug()调用停止工作而不是写入控制台.
以下是我创建Logger和调用日志函数的方法:
public class MyApp extends Application {
private static Logger log = LoggerFactory.getLogger(MyApp.class);
@Override
public void onCreate() {
log.info("log.isDebugEnabled() {}", log.isDebugEnabled());
log.error("error test");
log.debug("HELLO {}", "WORLD");
log.debug("debug test");
..............
/*some code here*/
..............
super.onCreate();
}
..............
}
Run Code Online (Sandbox Code Playgroud)
如您所见,没有调试行,只有错误和信息.
这是我的logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="EXT_FILES_DIR" value="/mnt/sdcard/Android/data/my_dir/files/logs" />
<timestamp key="bySecond" datePattern="dd.MM.yy'__'HH.mm.ss"/>
<appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
<encoder>
<pattern>%d{HH:mm:ss} :: %-5level :: THREAD [%thread] IN CLASS %logger{5} ON LINE %line - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${EXT_FILES_DIR}/my_log-${bySecond}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} …Run Code Online (Sandbox Code Playgroud) android ×7
c# ×2
multiplying ×2
app-config ×1
build ×1
build.gradle ×1
java ×1
listview ×1
logback ×1
multipart ×1
overlay ×1
pdf ×1
pdfrenderer ×1
printing ×1
scroll ×1
service ×1
upload ×1
xml ×1