小编Seb*_*Seb的帖子

使用putExtra将值传递给intent服务

在我的主要活动中,我有以下代码:

EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
    Intent i = new Intent(this, NetworkService.class);
    startService(i);
}
Run Code Online (Sandbox Code Playgroud)

目前,这只是向NetworkService发送一个intent,它按如下方式处理(截断):

public class NetworkService extends IntentService {

    public NetworkService() {
        super("NetworkService");
    }

    protected void onHandleIntent(Intent i) {

        /* HTTP CONNECTION STUFF */

        String login = URLEncoder.encode("Username", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8");
        login += "&" + URLEncoder.encode("Password", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8"); 
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要弄清楚的是,如何将这些usernameTextpasswordText值传递到NetworkService'XXX'中,但是NetworkService我想打算(没有双关语),让它处理来自不同地方的多个意图,一个来自登录,例如,使用登录令牌检索用户的一些信息.这是我的所有网络都将被包含的地方.我被告知这是Android应用程序中的最佳实践,以保持网络分离.

我的问题是:什么是这两个变量发送到的最佳方式NetworkService,以及如何,内onHandleIntentNetworkService,我分开的代码只能做我要求它(登录,获取用户信息,获取位置数据等等)?

对不起,如果答案很简单,但我对应用程序编程很新. …

java android android-intent

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

在对象内的对象上的实体框架LINQ表达式

编辑此问题,以期使其更清楚。

我们有实体框架代码优先设置。为了示例目的,我简化了两个类,实际上,与“记录”类似,大约有十多个类,其中“项”是导航属性/外键。

物品类别:

public class Item
{
    public int Id { get; set; }
    public int AccountId { get; set; }
    public List<UserItemMapping> UserItemMappings { get; set; }
    public List<GroupItemMapping> GroupItemMappings { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

记录类:

public class Record 
{
    public int ItemId { get; set; }
    public Item Item { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

this.User是每个存储库中注入的用户对象,包含在存储库库中。我们有一个包含以下代码的Item存储库:

var items = this.GetAll()
    .Where(i => i.AccountId == this.User.AccountId);
Run Code Online (Sandbox Code Playgroud)

我在存储库的基础上创建了follow表达式,以轻松地对其进行过滤(以希望再次使用)。由于LINQ to实体的工作方式,我们无法使用静态扩展方法(System.NotSupportedException“ LINQ to Entities无法识别方法X,并且该方法无法转换为存储表达式。”)。

protected Expression<Func<Item, bool>> ItemIsOnAccount()
{
    return item => item.AccountId …
Run Code Online (Sandbox Code Playgroud)

c# linq expression entity-framework repository

10
推荐指数
2
解决办法
302
查看次数

查找是否在C#中设置位位置

我在这里很困惑.

如果我有一个数字,我们在这里称它为16,我想检查是否设置了一个特定的位.我会做以下事情:

if (16 & (2 ^ bitPosition) == (2 ^ bitPosition))
Run Code Online (Sandbox Code Playgroud)

对?

那么,对于bitPosition = 2,为什么该语句返回true?不应该是假的,因为在这种情况下只有bitPosition = 4是真的吗?

我的理解是:

Bit|Val
0  |1
1  |2
2  |4
3  |8
4  |16
5  |32
6  |64
7  |128
Run Code Online (Sandbox Code Playgroud)

我之前从未使用过这种东西,这令我感到困惑.

c# binary bit

4
推荐指数
1
解决办法
132
查看次数