小编Nik*_*lin的帖子

主活动在后台运行时如何启动活动?

我创建了一个应用程序,使用户能够在应用程序以后台模式运行时设置是否要接收通知.如果启用了通知,则应启动活动(对话框应显示在屏幕上).

我尝试通过以下方式启用它:

@Override
public void onProductsResponse(List<Product> products) {
    this.products = products;
    moboolo.setProducts(products);
    if(moboolo.getAutomaticNotificationsMode() != 0 && products.size() > 0){
        if(isRunningInBackground)
        {
            Intent intent = new Intent(this, ProductListActivity.class);
            intent.setAction(Intent.ACTION_MAIN);
            startActivity(intent);
        }
    }
    drawProducts(products);

}
Run Code Online (Sandbox Code Playgroud)

这是主要活动的方法.当onPause()执行时,isRunningInBackground设置为true.当我尝试在主应用程序在后台运行时调试它

startActivity(intent)没有效果(活动没有出现).

当主要活动在后台运行时(调用onPause()之后)有没有人知道如何中断逻辑以便从主活动启动活动?

谢谢.

android android-activity

3
推荐指数
2
解决办法
1万
查看次数

带有附加列的sql批量插入

csv文件包含8列(col1,col2,...,col8),文件名也包含必须插入表中的日期.

如果表中的列数和csv文件中的列相等,则以下查询将文件中的所有记录导入到表中:

query += "BULK INSERT real_data FROM '" + path + "' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')";
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有找到修改查询的解决方案,以便新记录可以包含从文件名中提取的日期.无论如何我创建了一个提取日期的函数:

DateTime eventTime = extractDate(path);
Run Code Online (Sandbox Code Playgroud)

并且希望将eventTime插入到从文件导入的每个记录的第9列.

有没有人知道如何修改/创建查询语句从文件导入8列,并为每个导入的记录添加日期为第9列?

谢谢!

.net c# sql

3
推荐指数
1
解决办法
6649
查看次数

角度材料分页和排序问题

我一直在寻找这个问题的解决方案,但不幸的是无法使其发挥作用。我遵循官方的角度材料指南并编写了以下代码,该代码应该支持材料表的分页和排序:

export class RecentAnnouncementsComponent implements OnInit, AfterViewInit {

  displayedColumns: string[] = ['created_utc', 'name', 'title'];
  dataSource = new MatTableDataSource<any>();
  items: ItemData[] = [];

  constructor(private firebaseService: FirebaseService) { }

  @ViewChild(MatPaginator) paginator: MatPaginator;
  @ViewChild(MatSort) sort: MatSort;

  ngOnInit(): void {
    
  }

  ngAfterViewInit() {
    this.firebaseService.getItems().subscribe(result => {
      this.items = result;
      this.dataSource.data = this.items;
      this.dataSource.sort = this.sort;
      this.dataSource.paginator = this.paginator;
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

仍然存在以下错误:

属性“paginator”没有初始值设定项,并且未在构造函数中明确分配。

我尝试根据这些答案修改代码,但没有任何效果。我最多消除了错误,但分页和排序按钮不会影响表格项目。

我将非常感谢解决这个问题的建议。

angular-material angular

3
推荐指数
1
解决办法
1745
查看次数

编辑注册表值

我想更改pocketPC上的注册表值.我运行了以下代码:

if(enabled)
{
    dwData = 120;
}
if(RegSetValueEx(HKEY_LOCAL_MACHINE, _T("System\\CurrentControlSet\\Control\\Power\\Timeouts\\BattSuspendTimeout"), 0, REG_DWORD, (LPBYTE)&dwData, sizeof(DWORD)))
{
    return FALSE;
}
Run Code Online (Sandbox Code Playgroud)

但它不会改变注册表项.有谁知道如何用c ++设置注册表键值?

谢谢!

c++ registry pocketpc windows-mobile

2
推荐指数
1
解决办法
6657
查看次数

Android:响应式用户界面的最佳实践

我是Android和Java的新手.在我使用C++之前,使用消息调度事件.现在我想为Android平台创建相同的用户体验,我将非常感谢您对将事件绑定到用户控件的最佳方式的任何建议或意见.

这是C++的一个例子:

ON_MESSAGE(WM_RECORD_START, &CMainFrame::OnRecordStart)//Method OnRecordStarts() executes on WM_RECORD_START_MESSAGE
Run Code Online (Sandbox Code Playgroud)

...

LRESULT CMainFrame::OnRecordStart(WPARAM wParam, LPARAM lParam)
{

        m_pNetworkCtrl->SetGeoLocationInfo();
        ...
}
Run Code Online (Sandbox Code Playgroud)

...

void CMainFrame::RecordStart()
{
    PostMessage(WM_RECORD_START);
}
Run Code Online (Sandbox Code Playgroud)

在上面的情况下,该方法RecordStart()被绑定到a Button(在Button按下a时执行)并发布消息WM_RECORD_START.WM_RECORD_START收到消息后,OnRecordStart()执行该方法.

如前所述,我想创建一个响应式用户界面,如果OnRecordStart()直接调用该方法,我不确定它是否足够好RecordStart():

void RecordStart()
{
    OnRecordStart();
}
Run Code Online (Sandbox Code Playgroud)

我非常感谢你的任何建议.

java android messages

2
推荐指数
1
解决办法
9481
查看次数

SQLite:防止重复

我想创建一个表来存储设备设置.该表有三行:id,parameter_name和parameter_value.

该表是通过执行以下查询语句创建的:

DATABASE_CREATE = "create table DATABASE_TABLE (KEY_ID INTEGER PRIMARY KEY AUTOINCREMENT, KEY_NAME INTEGER not null, VALUE TEXT not null);
Run Code Online (Sandbox Code Playgroud)

然后通过执行以下方法存储行:

private long insertRow(int rowParameter, String rowValue, SQLiteDatabase db){
    long res = -1;
    ContentValues settingsParameterValues = new ContentValues();
    settingsParameterValues.put(KEY_NAME, rowParameter);
    settingsParameterValues.put(VALUE, rowValue);
    if(db != null){
        res = db.insert(DATABASE_TABLE, null, settingsParameterValues);
    }
    return res;
}
Run Code Online (Sandbox Code Playgroud)

创建数据库时,将存储默认值:

@Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DATABASE_CREATE);
        insertRow(PRIVACY_LEVEL_ROW_INDEX, "0", db);
        insertRow(STREAM_TITLE_ROW_INDEX, "untitled", db);
        insertRow(STREAM_TAGS_ROW_INDEX, "", db);
    }
Run Code Online (Sandbox Code Playgroud)

但是insertRow()方法的问题在于它无法阻止重复条目.

在这种情况下,有谁知道如何防止重复输入?

sql database sqlite android

2
推荐指数
1
解决办法
1万
查看次数

Android:如何从活动活动中关闭前台活动?

我创建了一个与服务器异步通信的应用程序.当应用程序发出服务器请求时,会创建一个带有"加载"通知的新对话框(活动).主要活动实现了处理服务器响应的方法,我想在主活动从服务器收到答案时关闭前台活动.

通知对话框按以下方式创建:

 private void showServerRequestDialog(String actionLabel){
    Intent intent = new Intent(this, DlgServerRequest.class);
    intent.putExtra(SERVER_REQUEST_ACTION, actionLabel);
    startActivity(intent);

}
Run Code Online (Sandbox Code Playgroud)

所以当用户尝试进行身份验证时,会调用以下方法:

private void authenticateUser(String IMEI, String username, String password){
    mEncoderConnection.authenticateRequest(IMEI, username, password);
    showServerRequestDialog("Authenticating...");
}
Run Code Online (Sandbox Code Playgroud)

和onAuthenticateResponse处理身份验证响应:

public void onAuthenticateResponse(AuthenticateResponse pkg) {
    //code for response handling
    //TODO: close ServerRequestDialog
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人可以建议在执行onAuthenticateUser()时关闭通知对话框(DlgServerRequest),我将不胜感激.

android subactivity android-activity

2
推荐指数
1
解决办法
1万
查看次数

Java:有没有更简单的方法来解析字符串中的数组元素?

在应用程序中,有一个字符串,格式如下:

String elements ="[11,john,] [23,Adam,] [88,Angie,] ......"(...表示字符串中有更多元素)

从给定的字符串我必须为名称ID(11,23,88,...)创建一个ArrayList,为名称创建一个ArrayList(john,Adam,Angie,...)

我创建了两种方法:

private int getItemID(int listLocation, String inputString){
    int indexBeginning = inputString.indexOf("[", listLocation) + 1;
    int indexEnd = inputString.indexOf(",", listLocation) - 1;
    String sID = inputString.substring(indexBeginning, indexEnd);
    int result = Integer.parseInt(sID);
    return result;
}

private String getItemName(int listLocation, String inputString){
    int indexBeginning = inputString.indexOf(" ", listLocation) + 1;
    int indexEnd = inputString.indexOf(",", indexBeginning) - 1;
    String result = inputString.substring(indexBeginning, indexEnd);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

并打算在方法parseArrayString(String inputString)中使用这两个方法,我还没有编写但是可以按以下方式工作:

private void parseCommunityList(String inputString){
        int currentLocation = 0; …
Run Code Online (Sandbox Code Playgroud)

java string

2
推荐指数
1
解决办法
1万
查看次数

如何将csv数据导入postgres表

我试图将csv文件数据导入postgres表.在pgAdmin中将以下行作为pgscript运行

\copy users_page_rank FROM E'C:\\Users\\GamulinN\\Desktop\\users page rank.csv' DELIMITER ';' CSV
Run Code Online (Sandbox Code Playgroud)

它返回了一个错误:

[ERROR    ] 1.0: syntax error, unexpected character
Run Code Online (Sandbox Code Playgroud)

有谁知道这里有什么不对吗?我检查了这篇文章,但无法弄清楚是什么问题.

postgresql

2
推荐指数
1
解决办法
5379
查看次数

如何重塑和交错矩阵元素?

具有时间序列的值,我想将其重新整形为nx4矩阵[X y],以便将这些值用作机器学习算法的输入和输出值.

X(i)是1x3输入向量,y是输出标量值.

该算法每隔2个序列值(3个值)作为输入,以预测第4个值.

举一个实际的例子,假设我们有一个序列

[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
Run Code Online (Sandbox Code Playgroud)

[X y]矩阵应如下:

[1 3 5 7; 2 4 6 8; 9 11 13 15; 10 12 14 16]
Run Code Online (Sandbox Code Playgroud)

为了获得每一行,我编写了以下代码:

vec1 = timeSeries(1:2:end);
XyVec1 = reshape(vec1,4,[])' 
Run Code Online (Sandbox Code Playgroud)

类似地,可以写它来得到偶数:

vec2 = timeSeries(2:2:end);
XyVec2 = reshape(vec2,5,[])'
Run Code Online (Sandbox Code Playgroud)

我不知道怎么做的是将矩阵vec1和vec2行交错到get

[vec(1,:); vec2(1,:);vec1(2,:), vec2(2,:)...]
Run Code Online (Sandbox Code Playgroud)

有谁知道如何交错两个(或更多)矩阵的行?

matlab

2
推荐指数
1
解决办法
2359
查看次数