我有一个Windows.Forms.Panel用于显示图片列表的应用程序.当面板的高度超过32767像素时,其余内容将被简单地切掉.
例:
Windows.Forms.Panel myPanel;
ArrayList pictureList;
foreach(pic in pictureList) {
myPanel.Controls.Add(pic) // adds all the objects without complaints
}
Run Code Online (Sandbox Code Playgroud)
在示例中,所有元素都添加到面板而不会引发错误,但在面板达到32767后,不再显示任何图像.
我的问题:是否有可能打破此限制并在面板中显示更多内容?
我知道这种方法无论如何都不方便,但现在没有时间重新设计整个应用程序.
我想在android中有一个连接池,因为并行线程必须同时访问数据库。
Android提供了PooledConnection与javax.sql连接一起使用的接口。由于Android中不正式支持SQLite的jdbc,因此我想到了另一种方法来实现SQLite数据库的连接池。
您如何看待这种方法。有什么风险?我有事吗
我的代码如下:
数据库的连接包装器类:
public class PoolConnection {
protected SQLiteDatabase sqlDb;
protected long openedAt;
private static final String DB_NAME = Environment
.getExternalStorageDirectory()
+ "/data/DBNAME.sqlite";
private static final int DB_VERSION = 1;
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// nothing to do here
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// no upgrade planned yet
}
}
public PoolConnection(Context …Run Code Online (Sandbox Code Playgroud) 我写了一个函数,它扩展isalnum为识别UTF-8编码的变音符号.
有没有更优雅的方法来解决这个问题?
代码如下:
bool isalnumlaut(const char character) {
int cr = (int) (unsigned char) character;
if (isalnum(character)
|| cr == 195 // UTF-8
|| cr == 132 // Ä
|| cr == 164 // ä
|| cr == 150 // Ö
|| cr == 182 // ö
|| cr == 156 // Ü
|| cr == 188 // ü
|| cr == 159 // ß
) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我现在几次测试我的解决方案,但它似乎为我的目的做了工作.有强烈反对意见吗?
假设这是我的代码
Cursor mCursor = dbAdapter.getAllTitles(); //returns results from 3 columns, eg column1, column2, column3
Run Code Online (Sandbox Code Playgroud)
无论如何,我可以将column1的值分配给1个字符串数组,将column2的值分配给另一个,等等吗?也许像这样
String[] getColumn1 = mCursor.dataFrom("column1");
String[] getColumn2 = mCursor.dataFrom("column2");
String[] getColumn3 = mCursor.dataFrom("column3");
Run Code Online (Sandbox Code Playgroud)
我看到的实现与上述相同结果的示例涉及遍历值并将它们放入相应的数组中。太多的资源消耗,不是吗?那么最好对每列进行单独的sql查询,不是吗?